mysql_install_db প্রাথমিককরণের কাজগুলি পরিচালনা করে যা MySQL সার্ভারের আগে যেমন mysqld ব্যবহারের জন্য প্রস্তুত হওয়া প্রয়োজন। এটি মাইএসকিউএল ডেটা ডিরেক্টরি শুরু করে এবং এতে থাকা সিস্টেম টেবিলগুলি তৈরি করতে সহায়তা করে। এটি সিস্টেম টেবিলস্পেস এবং সম্পর্কিত ডেটা স্ট্রাকচার শুরু করে যা InnoDB টেবিলগুলি পরিচালনা করার জন্য পুনরায় প্রয়োজন হয়৷
সুরক্ষিত-বাই-ডিফল্ট স্থাপনা
mysql_install_db-এর বর্তমান সংস্করণগুলি একটি MySQL স্থাপনা তৈরি করবে যা ডিফল্টরূপে সুরক্ষিত। এর নিচে উল্লেখিত বৈশিষ্ট্য রয়েছে।
-
'root'@'localhost' নামে একটি একক প্রশাসনিক অ্যাকাউন্ট এলোমেলোভাবে তৈরি করা পাসওয়ার্ড দিয়ে তৈরি করা হয় এবং মেয়াদ শেষ হয়ে গেছে বলে চিহ্নিত করা হয়।
-
কোনো বেনামী ব্যবহারকারী অ্যাকাউন্ট তৈরি করা হয় না৷
-
সমস্ত ব্যবহারকারীর দ্বারা অ্যাক্সেসযোগ্য কোন পরীক্ষা ডাটাবেস তৈরি করা হয় না৷
৷ -
'--admin-xxx' বিকল্পগুলি উপলব্ধ যা প্রশাসনিক অ্যাকাউন্টের বৈশিষ্ট্যগুলিকে নিয়ন্ত্রণ করতে সাহায্য করে৷
-
'--random-password-file' বিকল্পটি নিয়ন্ত্রণ করার জন্য উপলব্ধ যেখানে র্যান্ডমপাসওয়ার্ড লেখা হয়৷
-
এলোমেলো পাসওয়ার্ড জেনারেশন দমন করতে '—অনিরাপদ' বিকল্পটি উপলব্ধ।
যদি mysql_install_db একটি এলোমেলো প্রশাসনিক পাসওয়ার্ড তৈরি করতে পারে, তাহলে এটি একটি ফাইলে পাসওয়ার্ড লিখবে এবং ফাইলের নামও প্রদর্শন করবে৷
আমন্ত্রণ সিনট্যাক্স
এখন আমন্ত্রণ সিনট্যাক্স বোঝা যাক -
MySQL ইন্সটলেশন ডিরেক্টরিতে অবস্থান পরিবর্তন করুন এবং নিচে উল্লেখিত সিনট্যাক্স ব্যবহার করুন -
shell> bin/mysql_install_db --datadir=path/to/datadir [other_options]
--datadir বিকল্পটি বাধ্যতামূলক। mysql_install_db ডেটা ডিরেক্টরি তৈরি করে, যা আগে থেকেই থাকা উচিত নয়। যদি ডেটা ডিরেক্টরি ইতিমধ্যেই বিদ্যমান থাকে, একটি আপগ্রেড অপারেশন করা হচ্ছে, একটি ইনস্টল অপারেশন নয়। এটি mysql_upgrade চালানো উচিত এবং mysql_install_db নয়। যদি ডেটা ডিরেক্টরিটি বিদ্যমান না থাকে কিন্তু mysql_install_db ব্যর্থ হয়, তাহলে mysql_install_db আবার চালানোর আগে যেকোনও আংশিকভাবে তৈরি ডেটা ডিরেক্টরিকে সরিয়ে দেওয়া উচিত।
যেহেতু MySQL সার্ভার, mysqld কে অবশ্যই ডেটা ডিরেক্টরি অ্যাক্সেস করতে হবে যখন এটি পরে চলে, ব্যবহারকারীকে হয় mysqld চালানোর জন্য ব্যবহৃত একই সিস্টেম অ্যাকাউন্ট থেকে mysql_install_db চালাতে হবে, অথবা এটিকে রুট হিসাবে চালাতে হবে এবং ব্যবহারকারীর নাম নির্দেশ করার জন্য --user বিকল্পটি নির্দিষ্ট করতে হবে যা mysqld এর অধীনে চলে।