كيفية إعداد قاعدة بيانات MySQL على خادم Linux
دليل كامل حول تثبيت وتأمين وإدارة خادم قاعدة بيانات MySQL على Ubuntu و CentOS.

MySQL هو أحد أشهر أنظمة إدارة قواعد البيانات العلائقية مفتوحة المصدر. سيساعدك هذا الدليل في تثبيت وتأمين وتكوين MySQL على خادم Hiddence Linux الخاص بك.
تثبيت MySQL
اعتبارًا من عام 2026، يعد MySQL 8.0 هو الإصدار المستقر الحالي. تختلف عملية التثبيت قليلاً بين Ubuntu/Debian والتوزيعات القائمة على RHEL. سنغطي كلتا الطريقتين أدناه.
تثبيت MySQL على Ubuntu/Debian
بالنسبة لـ Ubuntu 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 للحصول على التصحيحات الأمنية
- مراقبة أداء قاعدة البيانات وتحسين الاستعلامات