نحوه راهاندازی پایگاه داده MySQL در سرور لینوکس
راهنمای کامل نصب، ایمنسازی و مدیریت سرور پایگاه داده MySQL در اوبونتو و سنتاواس.

MySQL یکی از محبوبترین سیستمهای مدیریت پایگاه داده رابطهای متنباز است. این راهنما به شما کمک میکند MySQL را در سرور لینوکس Hiddence خود نصب، ایمن و پیکربندی کنید.
نصب MySQL
MySQL 8.0 نسخه پایدار فعلی از سال 2026 است. فرآیند نصب بین اوبونتو/دبیان و توزیعهای مبتنی بر RHEL کمی متفاوت است. ما هر دو روش را در زیر پوشش خواهیم داد.
نصب MySQL در اوبونتو/دبیان
برای اوبونتو 22.04 LTS و جدیدتر، MySQL 8.0 در مخازن پیشفرض موجود است. آن را با استفاده از apt نصب کنید:
sudo apt update
sudo apt install mysql-server -y
sudo systemctl start mysql
sudo systemctl enable mysql
# تأیید نصب
sudo systemctl status mysql
mysql --versionنصب MySQL در RHEL / CentOS / AlmaLinux / Rocky Linux
برای توزیعهای مبتنی بر RHEL، ابتدا باید مخزن MySQL را اضافه کنید. MySQL 8.0 برای استفاده در تولید توصیه میشود:
# دانلود بسته مخزن MySQL
sudo wget https://dev.mysql.com/get/mysql80-community-release-el9-1.noarch.rpm
# نصب مخزن
sudo rpm -ivh mysql80-community-release-el9-1.noarch.rpm
# برای CentOS 8/Rocky Linux 8/AlmaLinux 8 از دستور زیر استفاده کنید:
# sudo wget https://dev.mysql.com/get/mysql80-community-release-el8-7.noarch.rpm
# نصب MySQL
sudo yum install mysql-server -y
# شروع و فعالسازی MySQL
sudo systemctl start mysqld
sudo systemctl enable mysqld
# تأیید نصب
sudo systemctl status mysqld
mysql --versionتأیید نصب
پس از نصب، بررسی کنید که MySQL به درستی اجرا میشود:
# بررسی وضعیت سرویس
sudo systemctl status mysql # Ubuntu/Debian
sudo systemctl status mysqld # RHEL / CentOS
# بررسی نسخه MySQL
mysql --version
# تست اتصال (رمز عبور root را میپرسد)
sudo mysql -u root -pایمنسازی نصب MySQL
اسکریپت نصب ایمن MySQL را اجرا کنید:
sudo mysql_secure_installation
# دستورالعملها را برای تنظیم رمز عبور root، حذف کاربران ناشناس، غیرفعال کردن ورود از راه دور root و غیره دنبال کنید.ایجاد پایگاه داده و کاربر
sudo mysql -u root -p
CREATE DATABASE myapp_db;
CREATE USER 'app_user'@'localhost' IDENTIFIED BY 'strong_password';
GRANT ALL PRIVILEGES ON myapp_db.* TO 'app_user'@'localhost';
FLUSH PRIVILEGES;
EXIT;مدیریت کاربران
sudo mysql -u root -p
# ایجاد کاربر
CREATE USER 'newuser'@'localhost' IDENTIFIED BY 'password';
# اعطای امتیازات
GRANT ALL PRIVILEGES ON database_name.* TO 'newuser'@'localhost';
# لغو امتیازات
REVOKE ALL PRIVILEGES ON database_name.* FROM 'newuser'@'localhost';
# حذف کاربر
DROP USER 'newuser'@'localhost';فعالسازی دسترسی از راه دور (اختیاری)
برای اجازه دادن به اتصالات از راه دور، bind-address را تغییر دهید:
sudo nano /etc/mysql/mysql.conf.d/mysqld.cnf
# تغییر bind-address = 127.0.0.1 به bind-address = 0.0.0.0
sudo systemctl restart mysql
# همچنین فایروال را طوری پیکربندی کنید که پورت 3306 را مجاز کندپشتیبانگیری و بازیابی پایگاه داده
ایجاد پشتیبان و بازیابی:
# پشتیبانگیری
mysqldump -u root -p database_name > backup.sql
# بازیابی
mysql -u root -p database_name < backup.sqlبهترین شیوهها
- از رمزهای عبور قوی برای کاربران پایگاه داده استفاده کنید
- فقط امتیازات لازم را به کاربران بدهید
- مرتباً از پایگاههای داده خود نسخه پشتیبان تهیه کنید
- MySQL را برای وصلههای امنیتی بهروز نگه دارید
- عملکرد پایگاه داده را نظارت کرده و کوئریها را بهینه کنید