Поиск по сайту:

20 команд mysqladmin для администрирования MYSQL/MariaDB


mysqladmin — это утилита администрирования базы данных с командной строкой, которая поставляется с сервером MySQL/MariaDB и используется администраторами баз данных для выполнения некоторых базовых >MySQL задачи, такие как установка пароля root, изменение пароля root, мониторинг процессов MySQL, перезагрузка привилегий, создание/удаление баз данных, проверка состояния сервера, отображение статистики использования, уничтожение выполняемых запросов и т. д.

Команда для использования mysqladmin и ее общий синтаксис:

mysqladmin [options] command [command-arg] [command [command-arg]] ...

Если у вас не установлен сервер MySQL/MariaDB или вы используете более старую версию сервера MySQL, мы рекомендуем вам установить или обновить версию MySQL с помощью следующие статьи:

  • Как установить MySQL в дистрибутивах на основе RHEL
  • Как установить MariaDB в системах RHEL и Debian

В этой статье мы собрали несколько очень полезных команд «mysqladmin», которые используются системными администраторами/администраторами баз данных в их повседневной работе. Для выполнения этих задач в вашей системе должен быть установлен сервер MySQL/MariaDB.

1. Как установить корневой пароль MySQL

Если у вас есть новая установка сервера MySQL/MariaDB, то для подключения к нему от имени пользователя root не требуется пароль. Чтобы установить пароль MySQL для пользователя root, используйте следующую команду.

mysqladmin -u root password YOURNEWPASSWORD

Внимание. Установка нового пароля MYSQL с помощью mysqladmin должна считаться уязвимой. В некоторых системах ваш пароль становится видимым для программ состояния системы, таких как команда ps, которую другие пользователи могут выполнять, чтобы узнать состояние активных процессов в системе.

2. Как изменить корневой пароль MySQL

Если вы хотите изменить или обновить пароль 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 9.1 Distrib 10.3.32-MariaDB, for Linux on x86_64
Copyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab, and others.

Server version		10.3.32-MariaDB
Protocol version	10
Connection		Localhost via UNIX socket
UNIX socket		/var/lib/mysql/mysql.sock
Uptime:			18 min 6 sec

Threads: 6  Questions: 20  Slow queries: 0  Opens: 18  Flush tables: 1  
Open tables: 11  Queries per second avg: 0.018

5. Как узнать текущий статус сервера MySQL

Чтобы узнать текущий статус сервера MySQL, используйте следующую команду. Команда mysqladmin показывает состояние время безотказной работы при выполнении потоков и запросов.

mysqladmin -u root -p status

Enter password: 
Uptime: 1185  Threads: 6  Questions: 21  Slow queries: 0  Opens: 18  Flush tables: 1
Open tables: 11  Queries per second avg: 0.017

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

Чтобы проверить все рабочее состояние переменных и значений сервера MySQL, введите следующую команду. Результат будет аналогичен приведенному ниже.

mysqladmin -u root -p extended-status

Enter password: 
+--------------------------------------------------------------+
| Variable_name                          | Value               |
+--------------------------------------------------------------+
| Aborted_clients                        | 0                   |
| Aborted_connects                       | 2                   |
| Access_denied_errors                   | 2                   |
| Acl_column_grants                      | 0                   |
| Acl_database_grants                    | 0                   |
| Acl_function_grants                    | 0                   |
| Acl_procedure_grants                   | 0                   |
| Acl_package_spec_grants                | 0                   |
| Acl_package_body_grants                | 0                   |
| Acl_proxy_users                        | 2                   |
| Acl_role_grants                        | 0                   |
| Acl_roles                              | 0                   |
| Acl_table_grants                       | 0                   |
| Acl_users                              | 4                   |
| Aria_pagecache_blocks_not_flushed      | 0                   |
| Aria_pagecache_blocks_unused           | 15706               |
| Aria_pagecache_blocks_used             | 0                   |
| Aria_pagecache_read_requests           | 0                   |
| Aria_pagecache_reads                   | 0                   |
| Aria_pagecache_write_requests          | 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             | Progress |
+----+-------------+-----------+----+---------+------+--------------------------+------------------+----------+
| 2  | system user |           |    | Daemon  |      | InnoDB purge coordinator |                  | 0.000    |
| 1  | system user |           |    | Daemon  |      | InnoDB purge worker      |                  | 0.000    |
| 4  | system user |           |    | Daemon  |      | InnoDB purge worker      |                  | 0.000    |
| 3  | system user |           |    | Daemon  |      | InnoDB purge worker      |                  | 0.000    |
| 5  | system user |           |    | Daemon  |      | InnoDB shutdown handler  |                  | 0.000    |
| 20 | root        | localhost |    | Query   | 0    | Init                     | show processlist | 0.000    |
+----+-------------+-----------+----+---------+------+--------------------------+------------------+----------+

9. Как создать базу данных на сервере MySQL

Чтобы создать новую базу данных на сервере MySQL, используйте команду, показанную ниже.

mysqladmin -u root -p create tecmint
Enter password: 

mysql -u root -p

Enter password: 
Welcome to the MariaDB monitor.  Commands end with ; or \g.
Your MariaDB connection id is 22
Server version: 10.3.32-MariaDB MariaDB Server

Copyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab, and others.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

MariaDB [(none)]> show databases;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| mysql              |
| performance_schema |
| tecmint |
+--------------------+
4 rows in set (0.001 sec)

10. Как удалить базу данных на сервере MySQL

Чтобы переместить базу данных на сервер MySQL, используйте следующую команду. Вам будет предложено подтвердить действие, нажав «y».

mysqladmin -u root -p drop tecmint

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 'tecmint' database [y/N] y
Database "tecmint" dropped

11. Как перезагрузить/обновить привилегии MySQL?

Команда reload сообщает серверу перезагрузить таблицы разрешений, а команда refresh очищает все таблицы и повторно открывает файлы журналов.

mysqladmin -u root -p reload
mysqladmin -u root -p refresh

12. Как безопасно завершить работу сервера MySQL

Чтобы безопасно завершить работу сервера MySQL, введите следующую команду.

mysqladmin -u root -p shutdown

Enter password:

Вы также можете использовать следующие команды для запуска/остановки сервера MySQL.

systemctl stop mysqld
systemctl start mysqld
Or
systemctl stop mariadb
systemctl start mariadb

13. Некоторые полезные команды MySQL Flush

Ниже приведены некоторые полезные команды очистки с их описанием.

  • flush-hosts: очистить всю информацию о хосте из кэша хоста.
  • flush-tables: очистить все таблицы.
  • flush-threads: очистить кеш всех потоков.
  • flush-logs: очистить все информационные журналы.
  • flush-privileges: перезагрузите таблицы разрешений (так же, как и при перезагрузке).
  • flush-status: очистить переменные состояния.

Давайте проверим эти команды.

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.

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 |
+----+------+-----------+----+---------+------+-------+------------------+

Если вы хотите уничтожить несколько процессов, передайте идентификаторы процессов через запятую, как показано ниже.

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             | Progress |
+----+-------------+-----------+----+---------+------+--------------------------+------------------+----------+
| 1  | system user |           |    | Daemon  |      | InnoDB purge worker      |                  | 0.000    |
| 2  | system user |           |    | Daemon  |      | InnoDB purge coordinator |                  | 0.000    |
| 4  | system user |           |    | Daemon  |      | InnoDB purge worker      |                  | 0.000    |
| 3  | system user |           |    | Daemon  |      | InnoDB purge worker      |                  | 0.000    |
| 5  | system user |           |    | Daemon  |      | InnoDB shutdown handler  |                  | 0.000    |
| 9  | root        | localhost |    | Query   | 0    | Init                     | show processlist | 0.000    |
+----+-------------+-----------+----+---------+------+--------------------------+------------------+----------+
Uptime: 173  Threads: 6  Questions: 4  Slow queries: 0  Opens: 18  Flush tables: 1  Open tables: 11  Queries per second avg: 0.023
mysqladmin  Ver 9.1 Distrib 10.3.32-MariaDB, for Linux on x86_64
Copyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab, and others.

Server version		10.3.32-MariaDB
Protocol version	10
Connection		Localhost via UNIX socket
UNIX socket		/var/lib/mysql/mysql.sock
Uptime:			2 min 53 sec

Threads: 6  Questions: 4  Slow queries: 0  Opens: 18  Flush tables: 1  Open tables: 11  Queries per second avg: 0.023

16. Как подключиться к удаленному серверу MySQL

Чтобы подключиться к удаленному серверу MySQL, используйте -h (хост)  с IP-адресом удаленного сервера. машина.

mysqladmin -h 172.16.25.126 -u root -p

17. Как выполнить команду на удаленном сервере MySQL

Допустим, вы хотите увидеть статус удаленного сервера MySQL, тогда команда будет такой.

mysqladmin -h 172.16.25.126 -u root -p status

18. Как запустить/остановить репликацию MySQL на подчиненном сервере

Чтобы запустить/остановить репликацию MySQL на подчиненном сервере, используйте следующие команды.

mysqladmin  -u root -p start-slave
mysqladmin  -u root -p stop-slave

19. Как хранить информацию об отладке сервера MySQL в журналах

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

mysqladmin  -u root -p debug

Enter password:

20. Как просмотреть параметры и использование mysqladmin

Чтобы узнать больше о параметрах и использовании команды myslqadmin, используйте команду справки, как показано ниже. Он отобразит список доступных опций.

mysqladmin --help

Мы постарались включить в эту статью почти все команды 'mysqladmin' с их примерами. Если мы все-таки что-то упустили, сообщите нам об этом в комментариях и не забудьте поделиться с друзьями.