العودة إلى المدونة
يناير 13, 2026الأدلة

كيفية إعداد قاعدة بيانات MySQL على خادم Linux

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

كيفية إعداد قاعدة بيانات MySQL على خادم Linux

MySQL هو أحد أشهر أنظمة إدارة قواعد البيانات العلائقية مفتوحة المصدر. سيساعدك هذا الدليل في تثبيت وتأمين وتكوين MySQL على خادم Hiddence Linux الخاص بك.

تثبيت MySQL

اعتبارًا من عام 2026، يعد MySQL 8.0 هو الإصدار المستقر الحالي. تختلف عملية التثبيت قليلاً بين Ubuntu/Debian والتوزيعات القائمة على RHEL. سنغطي كلتا الطريقتين أدناه.

تثبيت MySQL على Ubuntu/Debian

بالنسبة لـ Ubuntu 22.04 LTS والأحدث، يتوفر MySQL 8.0 في المستودعات الافتراضية. قم بتثبيته باستخدام apt:

bash
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 للاستخدام الإنتاجي:

bash
# تحميل حزمة مستودع 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 يعمل بشكل صحيح:

bash
# التحقق من حالة الخدمة
sudo systemctl status mysql  # Ubuntu/Debian
sudo systemctl status mysqld  # RHEL / CentOS

# التحقق من إصدار MySQL
mysql --version

# اختبار الاتصال (سيطلب كلمة مرور root)
sudo mysql -u root -p

تأمين تثبيت MySQL

قم بتشغيل نص التثبيت الآمن لـ MySQL:

bash
sudo mysql_secure_installation
# اتبع المطالبات لتعيين كلمة مرور root، وإزالة المستخدمين المجهولين، وتعطيل تسجيل دخول root عن بُعد، وما إلى ذلك.

إنشاء قاعدة بيانات ومستخدم

bash
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;

إدارة المستخدمين

bash
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:

bash
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

نسخ قاعدة البيانات احتياطيًا واستعادتها

إنشاء نسخة احتياطية واستعادة:

bash
# نسخ احتياطي
mysqldump -u root -p database_name > backup.sql

# استعادة
mysql -u root -p database_name < backup.sql

أفضل الممارسات

  • استخدم كلمات مرور قوية لمستخدمي قاعدة البيانات
  • امنح المستخدمين الامتيازات الضرورية فقط
  • قم بنسخ قواعد بياناتك احتياطيًا بانتظام
  • حافظ على تحديث MySQL للحصول على التصحيحات الأمنية
  • مراقبة أداء قاعدة البيانات وتحسين الاستعلامات