Mysqladmin یک ابزار خط فرمان است، که با mysql server نصب می شود. و توسط Database Administrator ها جهت انجام وظایف ابتدایی Mysql همانند تنظیمات پسورد root، مانیتورینگ پروسس های mysql و بررسی وضعیت سرور بکار برده می شود.
در این مقاله ما دستورات مفید mysqladmin را که برای ادمین های سیستم و پایگاه داده در روزهای کاری مورد استفاده است را بررسی خواهیم کرد. برای اجرای این وظایف، شما باید MySQL Server را برروی سیستم خود نصب کرده باشید.
همچنین توصیه میشود مطالعه کنید :
آموزش دستورات پایه ای مای اسکیول در لینوکس برای مدیریت دیتابیس (بخش 1)
اگر شما MySQL Server را برروی سیستم خود ندارید و یا ورژن قدیمی تر آن را دارید، به شما پیشمهاد میکنیم که آن را با استفاده از مقاله زیر نصب و یا بروزرسانی کنید.
آموزش نصب و راه اندازی MySQL-Server در ردهت و دبیان (centos,fedora,ubuntu,debian)
1.نحوه ی تنظیمات پسورد root برای Mysql
اگر شما Mysql server خود را تازه نصب کرده اید ، جهت وارد شدن با root نیاز به پسورد ندارید، از دستور زیر جهت ست کردن پسورد برای root استفاده کنید.
2.نحوه ی تغییرات پسورد root برای Mysql
اگر شما می خواهید پسورد روت را تغییر دهید، دستور زیر را تایپ کنید. به عنوان مثال پسورد قدیمی شما 123456 است و شما می خواهید آن را به xyz123 تغییر دهید.
3.نحوه ی چک کردن اینکه Mysql درحال اجرا
برای اینکه بفهمیم Mysql آپ بوده و در حال اجراست، از دستور زیر استفاده کنید.
4.نحوه ی چک کردن ورژن Mysql
دستور زیر ورژن Mysql درحال اجرا و وضعیت آن را نشان می دهد.
5.نحوه ی پیدا کردن وضعیت فعلی Mysql
برای پیدا کردن وضعیت فعلی Mysql از دستور زیر استفاده کنید. دستور mysqladmin وضعیت uptime و queryها و thread ها ی در حال اجرا را نشان می دهد.
6.نحوه ی بررسی وضعیت تمامی متغیر ها و مقدارهای Mysql server
برای بررسی وضعیت تمامی متغیر ها و مقدارهای Mysql server،دستور زیر را تایپ کنید. خروجی ای شبیه زیر خواهید دید.
7. نحوه ی بررسی تمامی متغیر ها و مقدارهای Mysql server
برای بررسی تمامی متغیر ها و مقدارهای Mysql server،دستور زیر را تایپ کنید.
8.نحوه ی بررسی تمامی پروسس های Mysql server
دستور زیر تمامی پروسس های در حال اجرای Mysql را نشان می دهد.
9.نحوه ی ایجاد یک پایگاه داده در Mysql
برای ایجاد یک پایگاه داده در Mysql server از دستور زیر استفاده کنید.
10.نحوه ی حذف یک پایگاه داده در Mysql server
برای حذف یک پایگاه داده در Mysql server، دستور زیر را اجرا کنید. سوال پرسیده شده را با y تایید کنید.
11. نحوه ی reload/refresh کردن امتیازات Mysql
دستور reload جداول را ریلور میکند و دستور refresh تمامی جداول را flush کرده و فایل های لاگ را بازگشایی می کند.
12.نحوه ی shutdown کردن mysql سرور به صورت امن
برای shutdown کردن mysql سرور به صورت امن دستور زیر را اجرا کنید.
شما همچنین می توانید دستور زیر را برای start و stop کردن Mysql استفاده کنید.
13. برخی دستورات مفید flush کردن Mysql
در زیر برخی دستورات مفید flush کردن با توضیحات آمده است.
Flush-hosts: تمامی اطلاعات هاست را از روی کش پاک می کند.
Flush-tables:تمامی جداول را پاک می کند.
Flush-threads:تمامی تردهای کش را پاک می کند.
Flush-logs:تمامی اطلاعات لاگ ها را پاک می کند.
Flush-privileges:امتیاز جداول را reload می کند.
Flush-status:وضعیت متغیر ها را پاک می کند.
14.نحوه ی kill کردن پروسس های به خواب رفته ی کلاینت
از دستور زیر برای تشخیص پروسس های به خواب رفته ی کلاینت استفاده کنید.
حالا دستور زیر را با kill و process id تایپ کنید.
اگر شما می خواهید چند پروسس را kill کنید id ها را با کاما از هم جدا کنید.
15. نحوه ی اجرا کردن چندین دستور mysqladmin با همدیگر
در صورتی که شما می خواهید چندین دستور mysqladmin را با هم اجرا کنید همانند دستور زیر استفاده کنید.
16. نحوه ی کانکت شدن به mysql server راه دور
برای کانکت شدن به سرور mysql ریموت از –h(host) با آدرس آی پی آن استفاده کنید.
17.نحوه ی اجرای دستورات روی سرورmysql راه دور
به عنوان مثال شما می خواهید status سرورmysqlراه دور را ببینید، از دستور زیر استفاده کنید.
18.نحوه ی start/stop کردن replication برروی سرور slave
برای start/stop کردن replication برروی سرور slave از دستور زیر استفاده کنید.
19.نحوه ی ذخیره ی اطلاعات Debug سرور Mysql به logها
به سرور می گوید که اطلاعات debug درباره قفل های مورد استفاده، حافظه ی استفاده شده و query بکاربرده شده و اطلاعات در مورد هر رویدادی بروی فایل های log نوشته شود.
20. نحوه ی نمایش گزینه های mysqladmin
برای پیدا کردن گزینه های mysqladmin از دستور help استفاده کنید.
ما سعی کردیم بهترین مثال هارا در مورد دستور mysqladmin در اختیار شما قرار دهیم، اگر چیزی را فراموش کرده ایم لطفا در قسمت نظرات آن را با دوستانتان به اشتراک بگذارید.
در این مقاله ما دستورات مفید mysqladmin را که برای ادمین های سیستم و پایگاه داده در روزهای کاری مورد استفاده است را بررسی خواهیم کرد. برای اجرای این وظایف، شما باید MySQL Server را برروی سیستم خود نصب کرده باشید.
همچنین توصیه میشود مطالعه کنید :
آموزش دستورات پایه ای مای اسکیول در لینوکس برای مدیریت دیتابیس (بخش 1)
اگر شما MySQL Server را برروی سیستم خود ندارید و یا ورژن قدیمی تر آن را دارید، به شما پیشمهاد میکنیم که آن را با استفاده از مقاله زیر نصب و یا بروزرسانی کنید.
آموزش نصب و راه اندازی MySQL-Server در ردهت و دبیان (centos,fedora,ubuntu,debian)
1.نحوه ی تنظیمات پسورد root برای Mysql
اگر شما Mysql server خود را تازه نصب کرده اید ، جهت وارد شدن با root نیاز به پسورد ندارید، از دستور زیر جهت ست کردن پسورد برای root استفاده کنید.
کد:
[LEFT]# mysqladmin -u root password [B]YOURNEWPASSWORD[/B][/LEFT]
اگر شما می خواهید پسورد روت را تغییر دهید، دستور زیر را تایپ کنید. به عنوان مثال پسورد قدیمی شما 123456 است و شما می خواهید آن را به xyz123 تغییر دهید.
کد:
mysqladmin -u root -p[B]123456[/B] password '[B]xyz123[/B]'
برای اینکه بفهمیم Mysql آپ بوده و در حال اجراست، از دستور زیر استفاده کنید.
کد:
# mysqladmin -u root -p ping Enter password: [B]mysqld is alive[/B]
دستور زیر ورژن Mysql درحال اجرا و وضعیت آن را نشان می دهد.
کد:
# mysqladmin -u root -p version Enter password: mysqladmin Ver 8.42 Distrib [B]5.5.28[/B], 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
برای پیدا کردن وضعیت فعلی Mysql از دستور زیر استفاده کنید. دستور mysqladmin وضعیت uptime و queryها و thread ها ی در حال اجرا را نشان می دهد.
کد:
# mysqladmin -u root -ptmppassword status Enter password: Uptime: 606704 Threads: 2 Questions: 36003 Slow queries: 0 Opens: 15 Flush tables: 1 Open tables: 8
برای بررسی وضعیت تمامی متغیر ها و مقدارهای Mysql server،دستور زیر را تایپ کنید. خروجی ای شبیه زیر خواهید دید.
کد:
# 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 | +------------------------------------------+-------------+
برای بررسی تمامی متغیر ها و مقدارهای Mysql server،دستور زیر را تایپ کنید.
کد:
# 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 | +---------------------------------------------------+----------------------------------------------+
دستور زیر تمامی پروسس های در حال اجرای 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 | +-------+---------+-----------------+---------+---------+------+-------+------------------+
برای ایجاد یک پایگاه داده در Mysql server از دستور زیر استفاده کنید.
کد:
# 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 | | [B]databasename[/B] | | mysql | | test | +--------------------+ 8 rows in set (0.01 sec) mysql>
10.نحوه ی حذف یک پایگاه داده در Mysql server
برای حذف یک پایگاه داده در Mysql server، دستور زیر را اجرا کنید. سوال پرسیده شده را با 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
دستور reload جداول را ریلور میکند و دستور refresh تمامی جداول را flush کرده و فایل های لاگ را بازگشایی می کند.
کد:
# mysqladmin -u root -p reload; # mysqladmin -u root -p refresh
برای shutdown کردن mysql سرور به صورت امن دستور زیر را اجرا کنید.
کد:
mysqladmin -u root -p shutdown Enter password:
کد:
# /etc/init.d/mysqld stop # /etc/init.d/mysqld start
در زیر برخی دستورات مفید flush کردن با توضیحات آمده است.
Flush-hosts: تمامی اطلاعات هاست را از روی کش پاک می کند.
Flush-tables:تمامی جداول را پاک می کند.
Flush-threads:تمامی تردهای کش را پاک می کند.
Flush-logs:تمامی اطلاعات لاگ ها را پاک می کند.
Flush-privileges:امتیاز جداول را reload می کند.
Flush-status:وضعیت متغیر ها را پاک می کند.
کد:
[LEFT]# 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[/LEFT]
از دستور زیر برای تشخیص پروسس های به خواب رفته ی کلاینت استفاده کنید.
کد:
[LEFT]# 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 | +----+------+-----------+----+---------+------+-------+------------------+[/LEFT]
کد:
[LEFT]# mysqladmin -u root -p kill 5 Enter password: +----+------+-----------+----+---------+------+-------+------------------+ | Id | User | Host | db | Command | Time | State | Info | +----+------+-----------+----+---------+------+-------+------------------+ | 12 | root | localhost | | Query | 0 | | show processlist | +----+------+-----------+----+---------+------+-------+------------------+[/LEFT]
کد:
[LEFT]# mysqladmin -u root -p kill 5,10[/LEFT]
15. نحوه ی اجرا کردن چندین دستور mysqladmin با همدیگر
در صورتی که شما می خواهید چندین دستور mysqladmin را با هم اجرا کنید همانند دستور زیر استفاده کنید.
کد:
[LEFT]# 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[/LEFT]
برای کانکت شدن به سرور mysql ریموت از –h(host) با آدرس آی پی آن استفاده کنید.
کد:
[LEFT]# mysqladmin -h 172.16.25.126 -u root -p[/LEFT]
17.نحوه ی اجرای دستورات روی سرورmysql راه دور
به عنوان مثال شما می خواهید status سرورmysqlراه دور را ببینید، از دستور زیر استفاده کنید.
کد:
# mysqladmin -h 172.16.25.126 -u root -p status
18.نحوه ی start/stop کردن replication برروی سرور slave
برای start/stop کردن replication برروی سرور slave از دستور زیر استفاده کنید.
کد:
[LEFT]# mysqladmin -u root -p start-slave # mysqladmin -u root -p stop-slave[/LEFT]
به سرور می گوید که اطلاعات debug درباره قفل های مورد استفاده، حافظه ی استفاده شده و query بکاربرده شده و اطلاعات در مورد هر رویدادی بروی فایل های log نوشته شود.
کد:
[LEFT]# mysqladmin -u root -p debug Enter password:[/LEFT]
برای پیدا کردن گزینه های mysqladmin از دستور help استفاده کنید.
کد:
[LEFT]# mysqladmin --help[/LEFT]
ما سعی کردیم بهترین مثال هارا در مورد دستور mysqladmin در اختیار شما قرار دهیم، اگر چیزی را فراموش کرده ایم لطفا در قسمت نظرات آن را با دوستانتان به اشتراک بگذارید.