یه لینوکس نصب شده با ورژن CentOS 7
میخواهیم MySql رو روی اون راه اندازی کنیم، گام های مختلف و تست های مختلف و تنظیمات مختلفی که ممکنه لازم بشه رو اینجا ثبت می کنم، ممکنه برای همه افراد همه ی این مراحل لازم نباشه ولی ممکنه بیشترش مفید باشد.
1 - تست می کنیم که چه سرویس هایی در حال حاضر روی سیستم فعال هستند:
دستورات مختلفی ممکنه برای این موضوع باشه، که برخی از اونها به صورت کلی به این شکل هستند:
service --status-all chkconfig --list systemctl list-units --type serice --all | grep -i mysql systemctl list-units | grep -i mysql
2- اگر روی ماشین مجازی دارید کار انجام میدهید، شاید لازم باشد که آی پی ماشین مجازی رو بدانید تا بتوانید از سیستم اصلی به آن وصل شوید:
ip address show ip a s
حالا بریم سراغ نصب Installing MySQL on Linux Using the MySQL Yum Repository:
اگر قصد راه اندازی نسخه ی پیشفرض را داشته باشیم فقط کافی است از دستور زیر استفاده کنیم :
yum install mysql
دستور فوق در واقع MariaDb را نصب می کند
ولی اگر نسخه ی خاصی را مد نظر داشته باشیم، باید با توجه به نکات لینک زیر کارهای لازم را انجام دهیم
همچنین برای اینکه دقیقا mariadb را نصب کنیم از دستورات زیر می توانیم استفاده کنیم
sudo yum install mariadb-server این دستور ورژن پیش فرض را نصب میکند ولی با استفاده از دستورات زیر می توانیم ورژن های جدیدتر را نصب کنیم sudo yum install wget wget https://downloads.mariadb.com/MariaDB/mariadb_repo_setup chmod +x mariadb_repo_setup sudo ./mariadb_repo_setup sudo yum install MariaDB-server
تا اینجا فرض می کنیم که نصب اولیه انجام شد با دستور yum install mysql
حالا فعال سازی و اتصال به آن از مسیرهای مختلف
ابتدا با دستور زیر می توانید مطمئن شوید که نسخه ی نصب شده است:
mysql --version sudo systemctl start mariadb.service sudo systemctl start mysql
برای فعال سازی رمز اتصال به دیتابیس از دستور زیر استفاده می کنیم، این دستور تنظیمات پیشفرض امنیتی را با توجه به پاسخ هایی که ما به سئوالات آن می دهیم انجام میدهد:
sudo mysql_secure_installation sudo mariadb-secure-installation
*نکته : اگر mariadb نصب کرده باشیم، از دستور دوم به جای دستور اول استفاده باید شود.
اکنون اگر همه چیز درست انجام شده باشد، و دستور مربوط به فعال سازی سرویس را زده باشید باید سرویس را در لیست سرویس های فعال مشاهده کنید.
systemctl list-units | grep -i maria systemctl list-units | grep -i mysql
برای اتصال از یک سیستم دیگه به mysql حالا باید ابتدا وضعیت فایروال را بررسی کنیم :
systemctl status firewalld sudo firewall-cmd --state
اگر فایروال فعال بود، باید پورت مربوط به mysql را باز کنیم - پورت 3306
firewall-cmd --list-services friewall-cmd --add-service=mysql
با دستور فوق پورت را باز می کنیم، حال دسترسی به کاربر root را در mysql یا mariadb باید فعال کنیم
mysql -u root -h localhost -p mysql> GRANT ALL PRIVILEGES ON *.* TO 'root'@'localhost'; mysql> UPDATE mysql.user SET host='%' WHERE user='root'; Grant All Privileges ON *.* to 'USER_NAME'@'%' Identified By 'YOUR_PASSWORD'; FLUSH PRIVILEGES; sudo systemctl restart mysql