English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

إدارة MySQL

تشغيل وإيقاف خدمة MySQL

في نظام Windows

في نظام Windows،فتح نافذة الأوامر (cmd)،انتقل إلى مجلد bin في مجلد تثبيت MySQL.

启动:

cd c:/mysql/bin
mysqld --console

إغلاق: }}

cd c:/mysql/bin
mysqladmin -uroot shutdown

في نظام Linux

أولاً، نحتاج إلى التحقق من تشغيل خادم MySQL باستخدام الأمر التالي:

ps -ef | grep mysqld

إذا كان MySql قيد التشغيل، فإن الأمر السابق سيقوم بطباعة قائمة العمليات mysql: إذا لم يبدأ mysql، يمكنك استخدام الأمر التالي لبدء تشغيل خادم mysql:

root@host# cd /usr/bin
./mysqld_safe &

إذا كنت ترغب في إغلاق خادم MySQL الذي يعمل حاليًا، يمكنك تنفيذ الأمر التالي:

root@host# cd /usr/bin
./mysqladmin -u root -p shutdown
ادخل كلمة المرور: ******

إعدادات مستخدم MySQL

إذا كنت بحاجة إلى إضافة مستخدم MySQL، يمكنك فقط إضافة مستخدم جديد إلى جدول user في قاعدة بيانات mysql.

الآتي هو مثال على إضافة مستخدم، اسم المستخدم guest وكلمة المرور guest123، وإذن المستخدم للقيام بعمليات SELECT, INSERT و UPDATE:

root@الخادم# mysql -u root -p
ادخل كلمة المرور:*******
mysql> استخدام (use) mysql;
Database changed
mysql> INSERT INTO user 
          (host, user, password, 
           select_priv, insert_priv, update_priv) 
           VALUES ('localhost', 'guest', 
           PASSWORD('guest123'), 'Y', 'Y', 'Y');
Query OK, 1 row affected (0.20 sec)
mysql> FLUSH PRIVILEGES;
Query OK, 1 row affected (0.01 sec)
mysql> SELECT host, user, password FROM user WHERE user = 'guest';
+-----------+---------+------------------+
| host       | user   | password         |
+-----------+---------+------------------+
| localhost | guest | 6f8c114b58f2ce9e |
+-----------+---------+------------------+
1 row in set (0.00 sec)

لاحظ عند إضافة المستخدم أنك تستخدم دالة PASSWORD() التي يقدمها MySQL لتشفير كلمة المرور. يمكنك رؤية تشفير كلمة المرور المستخدمة في المثال السابق كالتالي: 6f8c114b58f2ce9e.

وظيفة password() قد تم إزالتها في 8.0.11، يمكنك استخدام وظيفة MD5() بدلاً منها.在 MySQL5.7 中 user 表的 password 已换成了تم تغيير password في جدول user لـ MySQL5.7 إلىauthentication_string

وظيفة password() قد تم إزالتها في 8.0.11، يمكنك استخدام وظيفة MD5() بدلاً منها..

وظيفة password() قد تم إزالتها في 8.0.11، يمكنك استخدام وظيفة MD5() بدلاً منها.ملاحظة: في الملاحظة يجب تنفيذ FLUSH PRIVILEGES الجملة.

سيقوم هذا الأمر بإعادة تحميل جدول الصلاحيات.

إذا لم تستخدم هذا الأمر، لن يمكنك استخدام المستخدم الجديد للاتصال بخادم mysql، إلا إذا أعيد تشغيل خادم mysql.

  • يمكنك تحديد صلاحيات المستخدم عند إنشاء المستخدم، في عمود الصلاحيات المتباينة، في جملة الإدراج، أضف 'Y' فقط، قائمة صلاحيات المستخدم كالتالي:

  • Insert_priv

  • Update_priv

  • Delete_priv

  • Create_priv

  • Drop_priv

  • Reload_priv

  • Shutdown_priv

  • Process_priv

  • File_priv

  • Grant_priv

  • References_priv

  • Index_priv

  • Alter_priv

طريقة أخرى لإضافة مستخدم هي من خلال أمر GRANT في SQL، الأمر التالي سيضيف مستخدم zara إلى قاعدة بيانات TUTORIALS مع كلمة المرور zara123.

root@الخادم# mysql -u root -p
ادخل كلمة المرور:*******
mysql> استخدام (use) mysql;
Database changed
mysql> إرسال (GRANT) SELECT,INSERT,UPDATE,DELETE,CREATE,DROP
    -> على TUTORIALS.*
    -> إلى 'zara'@'localhost'
    -> معرف (IDENTIFIED) بالرقم 'zara123';

أمر أعلاه يخلق سجلاً للمستخدم في جدول user قاعدة بيانات mysql.

ملاحظة: تعليمات SQL لـ MySQL تنتهي بمحطة (;).

تكوين ملف /etc/my.cnf

في معظم الحالات، لا تحتاج إلى تعديل ملف التكوين هذا، تكوين الملف الافتراضي هو كالتالي:

[mysqld]
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock
[mysql.server]
user=mysql
basedir=/var/lib
[safe_mysqld]
err-log=/var/log/mysqld.log
pid-file=/var/run/mysqld/mysqld.pid

في ملف التكوين،يمكنك تحديد مسار ملفات سجلات الأخطاء المختلفة،عادةً لا تحتاج إلى تعديل هذه الإعدادات.

أوامر إدارة MySQL

تم عرض الأوامر الشائعة المستخدمة أثناء استخدام قاعدة بيانات MySQL فيما يلي:

  • USE اسم قاعدة البيانات :
    اختر قاعدة البيانات MySQL التي تريد التشغيل،سيكون جميع أوامر MySQL بعد هذا الأمر موجهة نحو هذه القاعدة البيانات.

    mysql> use w3codebox;
    Database changed
  • SHOW DATABASES:
    تقوم بعرض قائمة قواعد البيانات الخاصة بنظام إدارة قواعد البيانات MySQL.

    mysql> SHOW DATABASES;
    +--------------------+
    | Database           |
    +--------------------+
    | information_schema |
    | w3codebox             |
    | cdcol              |
    | mysql              |
    | onethink           |
    | performance_schema |
    | phpmyadmin         |
    | test               |
    | wecenter           |
    | wordpress          |
    +--------------------+
    10 rows in set (0.02 sec)
  • SHOW TABLES:
    تظهر جميع جداول قاعدة البيانات المحددة،يجب استخدام الأمر use قبل استخدام هذا الأمر لتحديد قاعدة البيانات التي تريد التشغيل.

    mysql> use w3codebox;
    Database changed
    mysql> SHOW TABLES;
    +------------------+
    | Tables_in_w3codebox |
    +------------------+
    | employee_tbl     |
    | w3codebox_tbl       |
    | tcount_tbl       |
    +------------------+
    3 rows in set (0.00 sec)
  • SHOW COLUMNS FROM 数据表:
    تظهر خصائص جداول البيانات،نوع الخصائص،معلومات المفتاح الرئيسي،هل هو NULL،القيمة الافتراضية وأي معلومات أخرى.

    mysql> SHOW COLUMNS FROM w3codebox_tbl;
    +-----------------+--------------+------+-----+---------+-------+
    | Field           | Type         | Null | Key | Default | Extra |
    +-----------------+--------------+------+-----+---------+-------+
    | w3codebox_id       | int(11)      | NO   | PRI | NULL    |       |
    | w3codebox_title    | varchar(255) | YES  |     | NULL    |       |
    | w3codebox_author   | varchar(255) | YES  |     | NULL    |       |
    | submission_date | date         | YES  |     | NULL    |       |
    +-----------------+--------------+------+-----+---------+-------+
    4 rows in set (0.01 sec)
  • SHOW INDEX FROM 数据表:
    显示数据表的详细索引信息,包括PRIMARY KEY(主键)。

    mysql> SHOW INDEX FROM w3codebox_tbl;
    +------------+------------+----------+--------------+-------------+-----------+-------------+----------+--------+------+------------+---------+---------------+
    | Table      | Non_unique | Key_name | Seq_in_index | Column_name | Collation | Cardinality | Sub_part | Packed | Null | Index_type | Comment | Index_comment |
    +------------+------------+----------+--------------+-------------+-----------+-------------+----------+--------+------+------------+---------+---------------+
    | w3codebox_tbl |          0 | PRIMARY  |            1 | w3codebox_id   | A         |           2 |     NULL | NULL   |      | BTREE      |         |               |
    +------------+------------+----------+--------------+-------------+-----------+-------------+----------+--------+------+------------+---------+---------------+
    1 row in set (0.00 sec)
  • SHOW TABLE STATUS [FROM db_name] [LIKE 'pattern'] \G:
    أمر هذا سيقوم بإخراج أداء نظام إدارة قاعدة بيانات MySQL وبيانات الإحصاء.

    mysql> SHOW TABLE STATUS  FROM w3codebox;   # عرض معلومات جميع الجداول في قاعدة البيانات w3codebox
    mysql> SHOW TABLE STATUS from w3codebox LIKE 'w3codebox%';     # عرض معلومات الجداول التي تبدأ بـ w3codebox
    mysql> SHOW TABLE STATUS from w3codebox LIKE 'w3codebox%'\G;   # أضف \G، لطباعة نتائج الاستعلام عبر الأعمدة