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' с их примерами. Если мы все-таки что-то упустили, сообщите нам об этом в комментариях и не забудьте поделиться с друзьями.