أداة mysqladmin
هي أداةٌ سطريةٌ (أي تعمل من سطر الأوامر) تأتي مع خادوم MySQL ويستعملها مدراء قواعد البيانات لإجراء مهام أساسية لإدارة قواعد MySQL مثل ضبط كلمة مرور المستخدم root أو تغييرها، ومراقبة عمليات mysql وإعادة تحديث امتيازات المستخدمين والتحقق من حالة الخدمة …إلخ.
سنضع في هذا الدرس بعض أوامر mysqladmin
المفيدة والمُستعمَلة من مدراء النظام أو مدراء قواعد البيانات يوميًا. يجب أن يكون خادوم MySQL مثبتًا على نظامك لإجراء هذه المهام.
إذا لم يكن خادوم MySQL مثبتًا على نظامك، أو كنتَ تستعمل إصدارًا قديمًا منه، فأنصحك بتثبيت أو تحديث نسختك كما ذكرنا في هذه المقالة.
1. كيفية ضبط كلمة مرور المستخدم root في MySQL؟
إذا كانت لديك نسخةٌ حديثةُ التثبيت من خادوم MySQL، فلن تحتاج إلى استخدام كلمة مرور للاتصال بها عبر المستخدم root، لكن ذلك ليس آمنًا، وأنصحك بضبط كلمة مرور له، وذلك بتنفيذ الأمر الآتي:
# mysqladmin -u root password YOURNEWPASSWORD
2. كيفية تغيير كلمة مرور المستخدم root؟
إذا أردتَ تحديث أو تغيير كلمة مرور المستخدم root في قواعد بيانات MySQL، فيمكنك الاستعانة بالأمر الآتي. لنفترض مثلًا أنَّ كلمة مرورك القديمة هي 123456 وأردتَ الآن تغييرها إلى كلمةٍ أخرى ولتكن xyz123:
# mysqladmin -u root -p123456 password 'xyz123'
3. كيفية التحقق إذا كان خادوم MySQL يعمل؟
استعمل الأمر الآتي لتعرف إن كان خادوم MySQL يعمل أم لا:
# mysqladmin -u root -p ping Enter password: mysqld is alive
4. كيف أعرف إصدار MySQL الذي أعمل عليه؟
الأمر الآتي سيُظهِر إصدار MySQL المُثبَّت على خادومك، إضافةً إلى حالته:
# mysqladmin -u root -p version Enter password: mysqladmin Ver 8.42 Distrib 5.5.28, for Linux on i686 Copyright (c) 2000, 2012, Oracle and/or its affiliates. All rights reserved. Oracle is a registered trademark of Oracle Corporation and/or its affiliates. Other names may be trademarks of their respective owners. Server version 5.5.28 Protocol version 10 Connection Localhost via UNIX socket UNIX socket /var/lib/mysql/mysql.sock Uptime: 7 days 14 min 45 sec Threads: 2 Questions: 36002 Slow queries: 0 Opens: 15 Flush tables: 1 Open tables: 8 Queries per second avg: 0.059
5. كيف أعرف ما هي حالة خادوم MySQL الآن؟
يمكن أن يُظهِر الأمر mysqladmin
حالة uptime بالإضافة إلى عدد الخيوط (threads) وإحصائيات عن الاستعلامات:
# mysqladmin -u root -ptmppassword status Enter password: Uptime: 606704 Threads: 2 Questions: 36003 Slow queries: 0 Opens: 15 Flush tables: 1 Open tables: 8 Queries per second avg: 0.059
6. كيفية التحقق من حالة جميع متغيرات خادوم MySQL وقيمها؟
استخدم الخيار extended-status
لأمر mysqladmin
لرؤية حالة جميع متغيرات خادوم MySQL والقيم المرتبطة بها. يجب أن تكون المخرجات شبيهةً بما يلي:
# mysqladmin -u root -p extended-status Enter password: +------------------------------------------+-------------+ | Variable_name | Value | +------------------------------------------+-------------+ | Aborted_clients | 3 | | Aborted_connects | 3 | | Binlog_cache_disk_use | 0 | | Binlog_cache_use | 0 | | Binlog_stmt_cache_disk_use | 0 | | Binlog_stmt_cache_use | 0 | | Bytes_received | 6400357 | | Bytes_sent | 2610105 | | Com_admin_commands | 3 | | Com_assign_to_keycache | 0 | | Com_alter_db | 0 | | Com_alter_db_upgrade | 0 | | Com_alter_event | 0 | | Com_alter_function | 0 | | Com_alter_procedure | 0 | | Com_alter_server | 0 | | Com_alter_table | 0 | | Com_alter_tablespace | 0 | +------------------------------------------+-------------+
7. كيفية معرفة قيم جميع المتغيرات المُفعّلة لخادوم MySQL؟
لرؤية جميع القيم التي تعمل حاليًا في خادوم MySQL، أدخِل الأمر الآتي:
# mysqladmin -u root -p variables Enter password: +---------------------------------------------------+----------------------------------------------+ | Variable_name | Value | +---------------------------------------------------+----------------------------------------------+ | auto_increment_increment | 1 | | auto_increment_offset | 1 | | autocommit | ON | | automatic_sp_privileges | ON | | back_log | 50 | | basedir | /usr | | big_tables | OFF | | binlog_cache_size | 32768 | | binlog_direct_non_transactional_updates | OFF | | binlog_format | STATEMENT | | binlog_stmt_cache_size | 32768 | | bulk_insert_buffer_size | 8388608 | | character_set_client | latin1 | | character_set_connection | latin1 | | character_set_database | latin1 | | character_set_filesystem | binary | | character_set_results | latin1 | | character_set_server | latin1 | | character_set_system | utf8 | | character_sets_dir | /usr/share/mysql/charsets/ | | collation_connection | latin1_swedish_ci | +---------------------------------------------------+----------------------------------------------+
8. كيفية التحقق من جميع العمليات التي يستخدمها خادوم MySQL؟
الأمر الآتي سيعرض جميع العمليات التي تستعملها استعلامات قواعد بيانات MySQL:
# mysqladmin -u root -p processlist Enter password: +-------+---------+-----------------+---------+---------+------+-------+------------------+ | Id | User | Host | db | Command | Time | State | Info | +-------+---------+-----------------+---------+---------+------+-------+------------------+ | 18001 | rsyslog | localhost:38307 | rsyslog | Sleep | 5590 | | | | 18020 | root | localhost | | Query | 0 | | show processlist | +-------+---------+-----------------+---------+---------+------+-------+------------------+
9. كيفية إنشاء قاعدة بيانات على خادوم MySQL؟
استخدم الأمر الآتي لإنشاء قاعدة بيانات جديدة في MySQL:
# mysqladmin -u root -p create databasename Enter password:
للتحقق من إنشائها:
# mysql -u root -p Enter password: Welcome to the MySQL monitor. Commands end with ; or \g. Your MySQL connection id is 18027 Server version: 5.5.28 MySQL Community Server (GPL) by Remi Copyright (c) 2000, 2012, Oracle and/or its affiliates. All rights reserved. Oracle is a registered trademark of Oracle Corporation and/or its affiliates. Other names may be trademarks of their respective owners. Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. mysql> show databases; +--------------------+ | Database | +--------------------+ | information_schema | | databasename | | mysql | | test | +--------------------+ 8 rows in set (0.01 sec) mysql>
10. كيفية حذف قاعدة بيانات في خادوم MySQL؟
لحذف قاعدة بيانات في خادوم MySQL، فأدخِل الأمر الآتي. سيُطلَب منك الموافقة على ذلك بكتابة الحرف y
:
# mysqladmin -u root -p drop databasename Enter password: Dropping the database is potentially a very bad thing to do. Any data stored in the database will be destroyed. Do you really want to drop the 'databasename' database [y/N] y Database "databasename" dropped
11. كيفية إعادة تحميل أو إعادة تحديث الامتيازات في MySQL؟
الأمر reload
سيطلب من الخادوم إعادة تحميل جداول الامتيازات، بينما الأمر refresh
سيؤدي إلى إعادة قراءة جميع الجداول وإعادة فتح ملفات التسجيل (log files):
# mysqladmin -u root -p reload; # mysqladmin -u root -p refresh
12. كيفية إيقاف خادوم MySQL بأمان؟
لإيقاف خادوم MySQL إيقافًا آمنًا، فاكتب الأمر الآتي:
mysqladmin -u root -p shutdown Enter password:
أو يمكنك استخدام الأمرين الآتيين لتشغيل أو إيقاف خادوم MySQL:
# /etc/init.d/mysqld stop # /etc/init.d/mysqld start
13. بعض أوامر «التنظيف»
هذه بعض أوامر التنظيف (flush) مع شرحٍ لها:
-
flush-hosts
: حذف جميع معلومات المُضيف من التخزين المؤقت. -
flush-tables
: «تنظيف» جميع الجداول. -
flush-threads
: تنظيف التخزين المؤقت للخيوط (threads). -
flush-logs
: تنظيف السجلات. -
flush-privileges
: إعادة تحميل جداول الامتيازات (مثلreload
). -
flush-status
: مسح متغيرات الحالة (status variables). -
# mysqladmin -u root -p flush-hosts # mysqladmin -u root -p flush-tables # mysqladmin -u root -p flush-threads # mysqladmin -u root -p flush-logs # mysqladmin -u root -p flush-privileges # mysqladmin -u root -p flush-status
14. كيفية «قتل» عمليات عملاء MySQL المتوقفة؟
يمكنك استخدام الأمر الآتي للتعرف على عمليات عملاء MySQL المتوقفة (sleeping):
# mysqladmin -u root -p processlist Enter password: +----+------+-----------+----+---------+------+-------+------------------+ | Id | User | Host | db | Command | Time | State | Info | +----+------+-----------+----+---------+------+-------+------------------+ | 5 | root | localhost | | Sleep | 14 | | | | 8 | root | localhost | | Query | 0 | | show processlist | +----+------+-----------+----+---------+------+-------+------------------+
يمكنك الآن تشغيل الأمر الآتي مع استخدام الخيار kill
متبوعًا برقم العملية كما يلي:
# mysqladmin -u root -p kill 5 Enter password: +----+------+-----------+----+---------+------+-------+------------------+ | Id | User | Host | db | Command | Time | State | Info | +----+------+-----------+----+---------+------+-------+------------------+ | 12 | root | localhost | | Query | 0 | | show processlist | +----+------+-----------+----+---------+------+-------+------------------+
أما إذا أردت «قتل» (اصطلاح «قتل» [kill] في يونكس يعني إيقاف العملية قسريًا) أكثر من عملية معًا، فافصل بين أرقام العمليات بفاصلة كما في المثال الآتي:
# mysqladmin -u root -p kill 5,10
15. كيفية تشغيل أكثر من أمر لأداة mysqladmin معًا؟
إذا أردت تشغيل أكثر من أمر mysqladmin
معًا فيمكنك فعل ذلك بذكرها بعضها تلو بعض كالآتي:
# mysqladmin -u root -p processlist status version Enter password: +----+------+-----------+----+---------+------+-------+------------------+ | Id | User | Host | db | Command | Time | State | Info | +----+------+-----------+----+---------+------+-------+------------------+ | 8 | root | localhost | | Query | 0 | | show processlist | +----+------+-----------+----+---------+------+-------+------------------+ Uptime: 3801 Threads: 1 Questions: 15 Slow queries: 0 Opens: 15 Flush tables: 1 Open tables: 8 Queries per second avg: 0.003 mysqladmin Ver 8.42 Distrib 5.5.28, for Linux on i686 Copyright (c) 2000, 2012, Oracle and/or its affiliates. All rights reserved. Oracle is a registered trademark of Oracle Corporation and/or its affiliates. Other names may be trademarks of their respective owners. Server version 5.5.28 Protocol version 10 Connection Localhost via UNIX socket UNIX socket /var/lib/mysql/mysql.sock Uptime: 1 hour 3 min 21 sec Threads: 1 Questions: 15 Slow queries: 0 Opens: 15 Flush tables: 1 Open tables: 8 Queries per second avg: 0.003
16. كيفية الاتصال بخادوم MySQL بعيد
للاتصال بخادوم MySQL بعيد فاستخدام الخيار -h
(أي host، ويعني المضيف) وبعده عنوان IP للخادوم البعيد:
# mysqladmin -h 172.16.25.126 -u root -p
17. كيفية تنفيذ أمر على خادوم MySQL بعيد
لنقل أنك تريد معرفة حالة (status) خادوم MySQL بعيد، فسيكون الأمر حينئذٍ كالآتي:
# mysqladmin -h 172.16.25.126 -u root -p status
18. تشغيل وإيقاف استنساخ MySQL على خادوم ثانوي
استخدم الأمرين الآتيين لتشغيل أو إيقاف استنساخ MySQL (أي MySQL replication):
# mysqladmin -u root -p start-slave # mysqladmin -u root -p stop-slave
19. كيفية تخزين معلومات التنقيح في MySQL إلى السجلات
معلومات التنقيح هي المعلومات التي تخبرنا ما هو استخدام الذاكرة ومعلومات متفرقة عن الاستعلامات، ويمكننا كتابتها إلى ملف سجل MySQL باستخدام الأمر الآتي:
# mysqladmin -u root -p debug Enter password:
20. كيفية رؤية الخيارات المتاحة للاستخدام في mysqladmin
لمعرفة المزيد من خيارات الأمر mysqladmin
وطريقة استخدامه، فاطلع على المساعدة التي تظهر بكتابة الأمر الآتي، والذي سيعرض قائمة بالخيارات المتوافرة:
# mysqladmin --help
حاولتُ قدر المستطاع أن أُضمِّن أغلبية أوامر mysqladmin
مع أمثلةٍ عنها في هذا الدرس، لكن لا مانع من محاولة استكشاف غيرها، وربما تشاركنا بها في التعليقات.
ترجمة -وبتصرّف- للمقال 20 MySQL (Mysqladmin) Commands for Database Administration in Linux لصاحبه Ravi Saive
تم التعديل في بواسطة يوغرطة بن علي
أفضل التعليقات
لا توجد أية تعليقات بعد
انضم إلى النقاش
يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.