مقدمه :
مای اس کیوال (MySQL) یک پایگاه داده رابطه ای یا سامانه مدیریت دادگان (DBMS) است که به دلیل سادگی نصب و مدیریت، و بازمتن (Open source) بودن از محبوبیت زیادی برخوردار است. SQL مخفف Structured Query Language می باشد که محبوبترین زبان کامپیوتری است که برای ایجاد، تغییر و بازیابی و عملیات بر روی داده ها در مدل رابطه ای می باشد. این زبان به سمت مدل شی گرا - رابطه ای نیز پیشرفت کرده است. SQL استانداردهای را نیز دریافت کرده است که قابلیت نصب و راه اندازی در بیشتر سیستم عامل ها مانند لینوکس، مکینتاش، FreeBSD و ویندوز قابل نصب است. سه نرم افزار PHP,MySQL و Apache بسته نرم افزاری LAMP که مخفف Linux Apache MySQL PHP را تشکیل می دهند بعنوان بستری برای راه اندازی سایت ها و Web Appliaction ها در سیستم عامل های گفته شده بکار می روند. در این پست چگونگی نصب و راه اندزی پایگاه داده MySQL 5.5 را در توزیع های CentOS,RedHat و Oracle Linux آموزش داده می شود.
نصب و راه اندازی MySQL-Server در CentOS و RedHat :
برای نصب MySQL Server در نسخه های ردهت و دبیان بر اساس نوع سیستم عامل که دارین دستور زیر را در خط فرمان اجرا کنید.
دستور بالا هسته اصلی MySQL یعنی برنامه mysql و همچنین نیازمندی های سرو MySQL یعنی mysql-server را نصب می کند. پس از نصب برنامه های بالا سرویس MySQL به نام mysqld نصب می شود. اولین کاری که بعد از نصب باید انجام داده راه اندازی یا فعال یا start کردن این سرویس است.
این دستور سرویس mysqld را در سطوح فعال می کند. این کار باعث می شود پس از راه اندازی مجدد سیستم و یا تغییر سطح اجرایی بازهم سرویس mysqld هنوز در دسترس باشد.
خط دوم بطور کلی سرویس را start یا فعال می کند. تا زمانی که سرویسی (مانند mysqld) فعال یا start نشده باشد قابل استفاده نیست.
گذاشتن پسورد بر روی یوزر ادمین :
پایگاه داده MySQL دارای یک کاربر مدیر به نام root است. باید با دستور زیر کلمه عبوری برای root تعیین کنیم.برای این کار از ابزار مدیریتی mysqladmin استفاده می کنیم. این ابزار، یک دستور مدیریتی است که به همراه بسته mysql نصب می شود. در خط زیر سوئیچ u- تعیین کننده Username و سویچ password تعیین کننده Password یا کلمه عبور برای کاربر است. شکل کلی تعیین پسورد برای یک کاربر بصورت زیر است :
چگونه وارد محیط خط فرمان MySQL شویم :
پس از ایجاد هر کاربر و پسوردش، می توانیم وارد سیستم شویم. برای ورود به محیط MySQL که در این محیط می توانیم اعمال مدیریتی مانند ایجاد، حذف کاربران و اعطای مجوز ها به کاربران و … را انجام دهیم. برای ورود به این محیط باید از دستور mysql به شکل کلی زیر استفاده کنیم. در شکل کلی زیر از دستور mysql سوئیچ u- برای تعیین نام کاربری یا Username و سویچ p- معرف وارد کردن پسورد است.
نکته امنیتی موقع ساخت یوزر:
برای امنیت بیشتر جلوی سوئیچ p- پسورد را نمی نویسیم بلکه پس از نوشتن شکل کلی زیر و زدن Enter یک اعلان برای گرفتن پسورد از شما نمایش داده می شود.
بطور مثال برای کاربر root بصورت زیر است.
پس از Enter زدن خط بالا اعلان Enter Password نشان داده می شود که باید پسورد کاربر root را وارد کنید. اگر پسورد را درست وارد کرده باشید اعلان محیط خط فرمان MySQL بصورت زیر نشان داده می شود.
روش reset یا start و stop کردن سرویس mysql :
از این پس می توانید Query ها را اجرا کنید. اگر به هر دلیلی سرویس mysqld دچار مشکل شد یا اینکه می خواهید آنرا راه اندازی مجدد یا reset کنید با یکی از دستور های زیر این کار را انجام دهید. تفاوتی که بین reload و resatart وجود دارد این است که با reload کردن ارتباط کاربران به سرور mysql قطع نخواهد شد ولی با restart کردن سرویس یکبار stop و از نو start می شود که باعث قطع ارتباط می شود.
این دستور هم سرویس MySQL را stop می کند.
با دو دستور mysqladmin و mysql اشنا شدیم. اولین دستور برای کارهای مدیریتی استفاده می شود و دستور mysql که دارای سوئیچ های زیادی است با استفاده از سوئیچ های u- و p- وارد محیط MySQL بشویم. در مثال بالا ما وارد یک محیط MySQL در لوکال هاست شدیم ولی می توانیم از یک کلاینت MySQL یا از سرور MySQL دیگری وارد یک سرور MySQL شویم به این حالت معماری Client/Server گویند.
اجرای دستور های محیط MySQL :
اگر توانسته باشید با Username/Password وارد محیط MySQL شده باشید. اولین دستوری که اجرا کنید help است. این دستور لیست تمامی فرامین این محیط را نشان می دهد. (دقت کنید تمامی دستور ها در MySQL کوچک هستند و خود MySQL به بزرگی و کوچکی حساس است). در این فایل که به پیوست پست میباشد (Mysql-Cmd.txt) دستور ها نشان داده شده است که برخی از آنها را توضیح می دهم. تمامی دستور های بالا شکل خلاصه شده ای مانند c\ را دارند که با نوشتن کامل دستور تفاوتی ندارد.
connect :
برای کانکت مجدد یا reconnect شدن است. شکل کلی آن بصورت زیر است و میتوانید بجای نوشتن connect از r\ استفاده کنید. پارمترهای db_name و host_name اختیاری هستند. و نوشتن خالی connect یا r\ کفایت می کند.
system :
باعث اجرای یک دستور سیستم عامل مانند ls در لینوکس و یا dir در ویندوز از درون محیط MySQL می شود. شکل کلی آن بصورت زیر است. جای commnd هر دستوری را می توانید بنویسید.
شکل خلاصه شده system نماد !\ است.
status :
نمایش حالت یا Status کانکشن (Connection) فعلی را نشان می دهد. اطلاعاتی همچون Session ID، نام کاربری و از کدام ماشین وارد شده است، ایا از پروتوکل امن SSL استفاده شده است و … را نشان می دهد. برای ایجاد هر ارتباط نیاز به وارد کردن یک نام کاربری و پسورد است که ورود یک جلسه یا Session برای ترکیب Username/Password ایجاد می شود. البته ممکن است که از یک ماشین یا از ماشین های متفاوت و با استفاده از نام کاربری/پسورد یکسان چندین جلسه ایجاد شود که هر کدام ID خاص خودشان را دارند. البته امکان محدود کردن جلسات برای هرذ Username مقدور است. شکل کلی استفاده از آن بصورت زیر است.
آپدیت کردن پسورد ROOT در MYSQl :
همچنین پیشنهاد میشود مقالات زیر را مطالعه کنید.
آموزش کامل نصب آخرین ورژن MariaDB 10 در لینوکس CentOS/RHEL - Debian/Ubuntu
آموزش نصب MySQL 8.0 روی Ubuntu 18.04
آموزش نصب MySQL 5.7.9 در RedHat/CentOS 7-6-5 و Fedora 21-23
20 نمونه از دستورات MySQL (Mysqladmin) برای مدیریت دیتابیس در Linux
آموزش دستورات MySQL (بخش اول)
آموزش دستورات MySQL (بخش دوم)
آموزش کار با MySQL
15 پرسش و پاسخ اولیه ی MySQL برای ادمین های پایگاه داده
آموزش دستورات Select در MySQL
دستورات بک آپ گیری و ریستور دیتابیس MySQL در لینوکس
نحوه تغییر پسورد Root دیتابیس MySQL یا MariaDB در Linux
نحوه ریکاوری/ریست پسورد Root در MySQL یا MariaDB در Linux
نحوه اجرای مستقیم دستورات MySQL در ترمینال لینوکس
پیدا کردن مسیر فایل های ( my.cnf - http.conf / apache2.conf - php.ini ) در لینوکس
فعال کردن قابلیت Auto completion و Syntax highlighting در MySQL/MariaDB
تغییر مسیر Defualt ذخیره دیتای MySQL در لینوکس
نکات حیاتی کلاستر کردن دیتابیس MySQL
15 نکته مفید برای بهینه سازی و بهبود عملکرد دیتابیس MySQL/MariaDB در Linux
4 ابزار Commandline برای مانیتور کردن کارایی یا عملکرد دیتابیس MySQL در Linux (به زودی)
آموزش MySQL (Master-Slave) Replication در RHEL,CentOS,Fedora
نحوه وصل شدن به MySQL بدون وارد کردن پسورد Root در ترمینال
نحوه ایجاد، حذف و مدیریت سطوح دسترسی کاربران در MySQL/MariaDB
برای اطلاع بیشتر می توانید این منبع را مطالعه کنید.
پیکربندی مای اسکیول :
فایل my.cnf فایلی پیکربندی MySQL که دررون دایرکتوری etc/ قرار دارد.
فایل دیگر، فایل Log سرویس mysqld است که در مسیر var/log/ و به نام mysqld.log قرار دارد.
در پستی (های) مجزا این فایل بررسی می شود.
نویسنده نامی امیر
مای اس کیوال (MySQL) یک پایگاه داده رابطه ای یا سامانه مدیریت دادگان (DBMS) است که به دلیل سادگی نصب و مدیریت، و بازمتن (Open source) بودن از محبوبیت زیادی برخوردار است. SQL مخفف Structured Query Language می باشد که محبوبترین زبان کامپیوتری است که برای ایجاد، تغییر و بازیابی و عملیات بر روی داده ها در مدل رابطه ای می باشد. این زبان به سمت مدل شی گرا - رابطه ای نیز پیشرفت کرده است. SQL استانداردهای را نیز دریافت کرده است که قابلیت نصب و راه اندازی در بیشتر سیستم عامل ها مانند لینوکس، مکینتاش، FreeBSD و ویندوز قابل نصب است. سه نرم افزار PHP,MySQL و Apache بسته نرم افزاری LAMP که مخفف Linux Apache MySQL PHP را تشکیل می دهند بعنوان بستری برای راه اندازی سایت ها و Web Appliaction ها در سیستم عامل های گفته شده بکار می روند. در این پست چگونگی نصب و راه اندزی پایگاه داده MySQL 5.5 را در توزیع های CentOS,RedHat و Oracle Linux آموزش داده می شود.
نصب و راه اندازی MySQL-Server در CentOS و RedHat :
برای نصب MySQL Server در نسخه های ردهت و دبیان بر اساس نوع سیستم عامل که دارین دستور زیر را در خط فرمان اجرا کنید.
Red Hat :
کد PHP:
yum install mysql-server mysql
Debian :
کد PHP:
apt-get install mysql-server
این دستور سرویس mysqld را در سطوح فعال می کند. این کار باعث می شود پس از راه اندازی مجدد سیستم و یا تغییر سطح اجرایی بازهم سرویس mysqld هنوز در دسترس باشد.
کد PHP:
chkconfig mysqld on
کد PHP:
etc/init.d/mysqld start/
پایگاه داده MySQL دارای یک کاربر مدیر به نام root است. باید با دستور زیر کلمه عبوری برای root تعیین کنیم.برای این کار از ابزار مدیریتی mysqladmin استفاده می کنیم. این ابزار، یک دستور مدیریتی است که به همراه بسته mysql نصب می شود. در خط زیر سوئیچ u- تعیین کننده Username و سویچ password تعیین کننده Password یا کلمه عبور برای کاربر است. شکل کلی تعیین پسورد برای یک کاربر بصورت زیر است :
کد PHP:
mysqladmin -u Username password YourPassword
EXAM :
کد PHP:
mysqladmin -u root password P@ssw0rd
چگونه وارد محیط خط فرمان MySQL شویم :
پس از ایجاد هر کاربر و پسوردش، می توانیم وارد سیستم شویم. برای ورود به محیط MySQL که در این محیط می توانیم اعمال مدیریتی مانند ایجاد، حذف کاربران و اعطای مجوز ها به کاربران و … را انجام دهیم. برای ورود به این محیط باید از دستور mysql به شکل کلی زیر استفاده کنیم. در شکل کلی زیر از دستور mysql سوئیچ u- برای تعیین نام کاربری یا Username و سویچ p- معرف وارد کردن پسورد است.
نکته امنیتی موقع ساخت یوزر:
برای امنیت بیشتر جلوی سوئیچ p- پسورد را نمی نویسیم بلکه پس از نوشتن شکل کلی زیر و زدن Enter یک اعلان برای گرفتن پسورد از شما نمایش داده می شود.
کد PHP:
mysql -u Username -p
بطور مثال برای کاربر root بصورت زیر است.
کد PHP:
mysql -u root -p
کد PHP:
<mysql
از این پس می توانید Query ها را اجرا کنید. اگر به هر دلیلی سرویس mysqld دچار مشکل شد یا اینکه می خواهید آنرا راه اندازی مجدد یا reset کنید با یکی از دستور های زیر این کار را انجام دهید. تفاوتی که بین reload و resatart وجود دارد این است که با reload کردن ارتباط کاربران به سرور mysql قطع نخواهد شد ولی با restart کردن سرویس یکبار stop و از نو start می شود که باعث قطع ارتباط می شود.
کد PHP:
etc/init.d/mysqld reload/
etc/init.d/mysqld restart/
کد PHP:
etc/init.d/mysqld stop/
اجرای دستور های محیط MySQL :
اگر توانسته باشید با Username/Password وارد محیط MySQL شده باشید. اولین دستوری که اجرا کنید help است. این دستور لیست تمامی فرامین این محیط را نشان می دهد. (دقت کنید تمامی دستور ها در MySQL کوچک هستند و خود MySQL به بزرگی و کوچکی حساس است). در این فایل که به پیوست پست میباشد (Mysql-Cmd.txt) دستور ها نشان داده شده است که برخی از آنها را توضیح می دهم. تمامی دستور های بالا شکل خلاصه شده ای مانند c\ را دارند که با نوشتن کامل دستور تفاوتی ندارد.
connect :
برای کانکت مجدد یا reconnect شدن است. شکل کلی آن بصورت زیر است و میتوانید بجای نوشتن connect از r\ استفاده کنید. پارمترهای db_name و host_name اختیاری هستند. و نوشتن خالی connect یا r\ کفایت می کند.
کد PHP:
[[connect [db_name host_name]], \r [db_name host_name
system :
باعث اجرای یک دستور سیستم عامل مانند ls در لینوکس و یا dir در ویندوز از درون محیط MySQL می شود. شکل کلی آن بصورت زیر است. جای commnd هر دستوری را می توانید بنویسید.
شکل خلاصه شده system نماد !\ است.
کد PHP:
system command, \! command
status :
نمایش حالت یا Status کانکشن (Connection) فعلی را نشان می دهد. اطلاعاتی همچون Session ID، نام کاربری و از کدام ماشین وارد شده است، ایا از پروتوکل امن SSL استفاده شده است و … را نشان می دهد. برای ایجاد هر ارتباط نیاز به وارد کردن یک نام کاربری و پسورد است که ورود یک جلسه یا Session برای ترکیب Username/Password ایجاد می شود. البته ممکن است که از یک ماشین یا از ماشین های متفاوت و با استفاده از نام کاربری/پسورد یکسان چندین جلسه ایجاد شود که هر کدام ID خاص خودشان را دارند. البته امکان محدود کردن جلسات برای هرذ Username مقدور است. شکل کلی استفاده از آن بصورت زیر است.
کد PHP:
status, \s
کد PHP:
Mysqladmin –u root –p’Old Password’ password ‘newpassword’
EXAM :
کد PHP:
Mysqladmin –u root –p’123456’ password ‘123’
همچنین پیشنهاد میشود مقالات زیر را مطالعه کنید.
آموزش کامل نصب آخرین ورژن MariaDB 10 در لینوکس CentOS/RHEL - Debian/Ubuntu
آموزش نصب MySQL 8.0 روی Ubuntu 18.04
آموزش نصب MySQL 5.7.9 در RedHat/CentOS 7-6-5 و Fedora 21-23
20 نمونه از دستورات MySQL (Mysqladmin) برای مدیریت دیتابیس در Linux
آموزش دستورات MySQL (بخش اول)
آموزش دستورات MySQL (بخش دوم)
آموزش کار با MySQL
15 پرسش و پاسخ اولیه ی MySQL برای ادمین های پایگاه داده
آموزش دستورات Select در MySQL
دستورات بک آپ گیری و ریستور دیتابیس MySQL در لینوکس
نحوه تغییر پسورد Root دیتابیس MySQL یا MariaDB در Linux
نحوه ریکاوری/ریست پسورد Root در MySQL یا MariaDB در Linux
نحوه اجرای مستقیم دستورات MySQL در ترمینال لینوکس
پیدا کردن مسیر فایل های ( my.cnf - http.conf / apache2.conf - php.ini ) در لینوکس
فعال کردن قابلیت Auto completion و Syntax highlighting در MySQL/MariaDB
تغییر مسیر Defualt ذخیره دیتای MySQL در لینوکس
نکات حیاتی کلاستر کردن دیتابیس MySQL
15 نکته مفید برای بهینه سازی و بهبود عملکرد دیتابیس MySQL/MariaDB در Linux
4 ابزار Commandline برای مانیتور کردن کارایی یا عملکرد دیتابیس MySQL در Linux (به زودی)
آموزش MySQL (Master-Slave) Replication در RHEL,CentOS,Fedora
نحوه وصل شدن به MySQL بدون وارد کردن پسورد Root در ترمینال
نحوه ایجاد، حذف و مدیریت سطوح دسترسی کاربران در MySQL/MariaDB
برای اطلاع بیشتر می توانید این منبع را مطالعه کنید.
پیکربندی مای اسکیول :
فایل my.cnf فایلی پیکربندی MySQL که دررون دایرکتوری etc/ قرار دارد.
فایل دیگر، فایل Log سرویس mysqld است که در مسیر var/log/ و به نام mysqld.log قرار دارد.
در پستی (های) مجزا این فایل بررسی می شود.
نویسنده نامی امیر
کامنت