mysqladmin — примеры использования

В 15 примерах использования команд mysqladmin ниже, используется пароль root Mysql tmppassword. Поменяйте его на ваш пароль

1. Как изменить пароль root на Mysql?

$ mysqladmin -u root -ptmppassword password 'newpassword'
$ mysql -u root -pnewpassword
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 8
Server version: 5.1.25-rc-community MySQL Community Server (GPL)
Type 'help;' or '\h' for help. Type '\c' to clear the buffer.
mysql>

2. Как проверить работает ли MySQL сервер?

$ mysqladmin -u root -p ping
Enter password:
mysqld is alive

3. Как посмотреть какая версия MySQL используетсяI am running?

Эта команда так же отображает текущий статус сервера.

$ mysqladmin -u root -ptmppassword version
mysqladmin  Ver 8.42 Distrib 5.1.25-rc, for redhat-linux-gnu on i686
Copyright (C) 2000-2006 MySQL AB
This software comes with ABSOLUTELY NO WARRANTY. This is free software,
and you are welcome to modify and redistribute it under the GPL license
Server version          5.1.25-rc-community
Protocol version        10
Connection              Localhost via UNIX socket
UNIX socket             /var/lib/mysql/mysql.sock
Uptime:                 107 days 6 hours 11 min 44 sec
Threads: 1  Questions: 231976  Slow queries: 0  Opens: 17067
Flush tables: 1  Open tables: 64  Queries per second avg: 0.25

4. Как посмотреть статус MySQL сервера?

$ mysqladmin -u root -ptmppassword status
Uptime: 9267148
Threads: 1  Questions: 231977  Slow queries: 0  Opens: 17067
Flush tables: 1  Open tables: 64  Queries per second avg: 0.25

Команда status отображает следующую информациюcommand displays the following information:

  • Uptime: Время безотказной работы в секундах
  • Threads: Общее количество клиентов, подключенных к серверу.
  • Questions: Общее количество запросов к серверу с момента запуска.
  • Slow queries: Общее количество запросов, чьё время выполнения было больше чем значение переменной long_query_time.
  • Opens: Total number of tables opened by the server.
  • Flush tables: How many times the tables were flushed.
  • Open tables: Total number of open tables in the database.

5. Как просмотреть статус переменных MySQL и их текущее значение?

$ mysqladmin -u root -ptmppassword extended-status
+-----------------------------------+-----------+
| Variable_name                       | Value     |
+-----------------------------------+-----------+
| Aborted_clients                       | 579       |
| Aborted_connects                    | 8         |
| Binlog_cache_disk_use             | 0         |
| Binlog_cache_use                    | 0         |
| Bytes_received                       | 41387238  |
| Bytes_sent                            | 308401407 |
| Com_admin_commands          | 3524      |
| Com_assign_to_keycache        | 0         |
| Com_alter_db                        | 0         |
| Com_alter_db_upgrade           | 0         |

6. Как отобразить все системные переменные MySQL сервера и их значения?

$ mysqladmin  -u root -ptmppassword variables
+---------------------------------+---------------------------------+
| Variable_name                   | Value                           |
+---------------------------------+---------------------------------+
| auto_increment_increment        | 1                               |
| basedir                         | /                               |
| big_tables                      | OFF                             |
| binlog_format                   | MIXED                           |
| bulk_insert_buffer_size         | 8388608                         |
| character_set_client            | latin1                          |
| character_set_database          | latin1                          |
| character_set_filesystem        | binary                          |
skip.....
| time_format                     | %H:%i:%s                        |
| time_zone                       | SYSTEM                          |
| timed_mutexes                   | OFF                             |
| tmpdir                          | /tmp                            |
| tx_isolation                    | REPEATABLE-READ                 |
| unique_checks                   | ON                              |
| updatable_views_with_limit      | YES                             |
| version                         | 5.1.25-rc-community             |
| version_comment                 | MySQL Community Server (GPL)    |
| version_compile_machine         | i686                            |
| version_compile_os              | redhat-linux-gnu                |
| wait_timeout                    | 28800                           |
+---------------------------------+---------------------------------+

7. Как отобразить все запущенные процессы/запросы в базе mysql?

$ mysqladmin -u root -ptmppassword processlist
+----+------+-----------+----+---------+------+-------+------------------+
| Id | User | Host      | db | Command | Time | State | Info             |
+----+------+-----------+----+---------+------+-------+------------------+
| 20 | root | localhost |    | Sleep   | 36   |       |                  |
| 23 | root | localhost |    | Query   | 0    |       | show processlist |
+----+------+-----------+----+---------+------+-------+------------------+

Вы можете использовать эту команду для эффективного дебага любых проблем с производительностью и определять процесс, который вызывает проблемы, запустив команду на автообновление каждую секунду.

$ mysqladmin -u root -ptmppassword -i 1 processlist
+----+------+-----------+----+---------+------+-------+------------------+
| Id | User | Host      | db | Command | Time | State | Info             |
+----+------+-----------+----+---------+------+-------+------------------+
| 20 | root | localhost |    | Sleep   | 36   |       |                  |
| 23 | root | localhost |    | Query   | 0    |       | show processlist |
+----+------+-----------+----+---------+------+-------+------------------+
+----+------+-----------+----+---------+------+-------+------------------+
| Id | User | Host      | db | Command | Time | State | Info             |
+----+------+-----------+----+---------+------+-------+------------------+
| 24 | root | localhost |    | Query   | 0    |       | show processlist |
+----+------+-----------+----+---------+------+-------+------------------+

8. Как создать базу MySQL?

$ mysqladmin -u root -ptmppassword create testdb
$ mysql -u root -ptmppassword
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 705
Server version: 5.1.25-rc-community MySQL Community Server (GPL)
Type 'help;' or '\h' for help. Type '\c' to clear the buffer.
mysql> show databases;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| mysql              |
| sugarcrm           |
| testdb             |
+--------------------+
4 rows in set (0.00 sec)

Замечание: Для отображения все таблиц в базе данных, общего количества колонок, строк, индексов и прочее…. используйте команду mysqlshow.

9. Как удалить существующую базу MySQL?

$ mysqladmin -u root -ptmppassword drop testdb
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 'testdb' database [y/N] y
Database “testdb” dropped
$ mysql -u root -ptmppassword
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 707
Server version: 5.1.25-rc-community MySQL Community Server (GPL)
Type ‘help;’ or ‘\h’ for help. Type ‘\c’ to clear the buffer.
mysql> show databases;
+——————–+
| Database           |
+——————–+
| information_schema |
| mysql              |
| sugarcrm           |
+——————–+
3 rows in set (0.00 sec)

10. Как перегрузить все привилегии и права на таблицы?

$ mysqladmin -u root -ptmppassword reload;

Команда Refresh сбросит все таблица и закроет/откроет лог-файлы.

$ mysqladmin -u root -ptmppassword refresh

11. Как образом выполнить безопасную остановку MySQL сервера?

$ mysqladmin -u root -ptmppassword shutdown
$ mysql -u root -ptmppassword
ERROR 2002 (HY000): Can't connect to local MySQL server
through socket '/var/lib/mysql/mysql.sock'

Вы можете использовать команду “/etc/rc.d/init.d/mysqld stop” для остановки сервера. Для запуска выполните “/etc/rc.d/init.d/mysql start”

12. Список всех mysqladmin flush комманд.

$ mysqladmin -u root -ptmppassword flush-hosts
$ mysqladmin -u root -ptmppassword flush-logs
$ mysqladmin -u root -ptmppassword flush-privileges
$ mysqladmin -u root -ptmppassword flush-status
$ mysqladmin -u root -ptmppassword flush-tables
$ mysqladmin -u root -ptmppassword flush-threads
  • flush-hosts: Сбросить всю информацию в кэше хостов.
  • flush-privileges: Перезагрузить права.
  • flush-status: Очистить статус переменных.
  • flush-threads: Flush the thread cache.

13. Как убить подвешенный клиентский процесс в MySQL ?

Сперва определите подвешенный процесс используя команду processlist.

$ mysqladmin -u root -ptmppassword processlist
+----+------+-----------+----+---------+------+-------+------------------+
| Id | User | Host      | db | Command | Time | State | Info             |
+----+------+-----------+----+---------+------+-------+------------------+
| 20 | root | localhost |    | Sleep   | 64   |       |                  |
| 24 | root | localhost |    | Query   | 0    |       | show processlist |
+----+------+-----------+----+---------+------+-------+------------------+

Затем используйте команду kill и нужный process_id. Для завершения нескольких процессов разделите process id запятыми.

$ mysqladmin -u root -ptmppassword kill 20
$ mysqladmin -u root -ptmppassword processlist
+----+------+-----------+----+---------+------+-------+------------------+
| Id | User | Host      | db | Command | Time | State | Info             |
+----+------+-----------+----+---------+------+-------+------------------+
| 26 | root | localhost |    | Query   | 0    |       | show processlist |
+----+------+-----------+----+---------+------+-------+------------------+

14. Как запустить или остановить репликацию MySQL на slave-сервер?

$ mysqladmin  -u root -ptmppassword stop-slave
Slave stopped
$ mysqladmin  -u root -ptmppassword start-slave
mysqladmin: Error starting slave: The server is not configured as slave;
fix in config file or with CHANGE MASTER TO

15. Как скомбинировать несколько команд mysqladmin вместе?

В примере ниже скомбинированы команды process-list, status и version для полного вывода статуса сервера.

$ mysqladmin  -u root -ptmppassword process status version
+----+------+-----------+----+---------+------+-------+------------------+
| Id | User | Host      | db | Command | Time | State | Info             |
+----+------+-----------+----+---------+------+-------+------------------+
| 43 | root | localhost |    | Query   | 0    |       | show processlist |
+----+------+-----------+----+---------+------+-------+------------------+
Uptime: 3135
Threads: 1  Questions: 80  Slow queries: 0  Opens: 15  Flush tables: 3
Open tables: 0  Queries per second avg: 0.25
mysqladmin  Ver 8.42 Distrib 5.1.25-rc, for redhat-linux-gnu on i686
Copyright (C) 2000-2006 MySQL AB
This software comes with ABSOLUTELY NO WARRANTY. This is free software,
and you are welcome to modify and redistribute it under the GPL license
Server version          5.1.25-rc-community
Protocol version        10
Connection              Localhost via UNIX socket
UNIX socket             /var/lib/mysql/mysql.sock
Uptime:                 52 min 15 sec

Вы можете также использовать краткую форму записи:

$ mysqladmin  -u root -ptmppassword pro stat ver

Используйте опцию -h для подключения к удаленному MySQL серверу и выполнения команды.

$ mysqladmin  -h 192.168.1.112 -u root -ptmppassword pro stat ver