mysql_install_db इनिशियलाइज़ेशन कार्यों को संभालता है जिन्हें MySQL सर्वर यानी mysqld के उपयोग के लिए तैयार होने से पहले निष्पादित करने की आवश्यकता होती है। यह MySQL डेटा डायरेक्टरी को इनिशियलाइज़ करता है और इसमें शामिल सिस्टम टेबल बनाने में मदद करता है। यह सिस्टम टेबलस्पेस और संबंधित डेटा संरचनाओं को इनिशियलाइज़ करता है जिन्हें InnoDB तालिकाओं को प्रबंधित करने के लिए पुन:व्यवस्थित किया जाता है।
सुरक्षित-दर-डिफ़ॉल्ट परिनियोजन
mysql_install_db के वर्तमान संस्करण एक MySQL परिनियोजन का उत्पादन करेंगे जो डिफ़ॉल्ट रूप से सुरक्षित है। इसकी निम्नलिखित विशेषताएं हैं।
-
'रूट'@'लोकलहोस्ट' नाम का एक एकल प्रशासनिक खाता बेतरतीब ढंग से जेनरेट किए गए पासवर्ड के साथ बनाया जाता है और इसे समाप्त के रूप में चिह्नित किया जाता है।
-
कोई अनाम उपयोगकर्ता खाता नहीं बनाया गया है।
-
कोई परीक्षण डेटाबेस नहीं बनाया गया है जो सभी उपयोगकर्ताओं के लिए सुलभ है।
-
'--admin-xxx' विकल्प उपलब्ध हैं जो प्रशासनिक खाते की विशेषताओं को नियंत्रित करने में मदद करते हैं।
-
जहां रैंडम पासवर्ड लिखा है, वहां '--random-password-file' विकल्प नियंत्रित करने के लिए उपलब्ध है।
-
यादृच्छिक पासवर्ड पीढ़ी को दबाने के लिए '-असुरक्षित' विकल्प उपलब्ध है।
यदि mysql_install_db एक यादृच्छिक व्यवस्थापकीय पासवर्ड उत्पन्न कर सकता है, तो यह एक फ़ाइल में पासवर्ड लिखेगा और फ़ाइल का नाम भी प्रदर्शित करेगा।
आमंत्रण वाक्य रचना
आइए अब इनवोकेशन सिंटैक्स को समझते हैं -
MySQL इंस्टॉलेशन डायरेक्टरी में स्थान बदलें और नीचे दिए गए सिंटैक्स का उपयोग करें -
shell> bin/mysql_install_db --datadir=path/to/datadir [other_options]
--डेटादिर विकल्प अनिवार्य है। Mysql_install_db डेटा निर्देशिका बनाता है, जो पहले से मौजूद नहीं होनी चाहिए। यदि डेटा निर्देशिका पहले से मौजूद है, तो एक अपग्रेड ऑपरेशन किया जा रहा है, इंस्टॉल ऑपरेशन नहीं। इसे mysql_upgrad चलाना चाहिए न कि mysql_install_db को। यदि डेटा निर्देशिका मौजूद नहीं है, लेकिन mysql_install_db विफल रहता है, तो mysql_install_db को फिर से चलाने से पहले किसी भी आंशिक रूप से बनाई गई डेटा निर्देशिका को हटा दिया जाना चाहिए।
चूंकि MySQL सर्वर, mysqld को बाद में चलने पर डेटा निर्देशिका का उपयोग करना चाहिए, उपयोगकर्ता को या तो mysql_install_db को उसी सिस्टम खाते से चलाना चाहिए जो mysqld चलाने के लिए उपयोग किया जाता है, या इसे रूट के रूप में चलाएं और उपयोगकर्ता नाम इंगित करने के लिए --user विकल्प निर्दिष्ट करें जो mysqld के अंतर्गत चलता है।