用于 MYSQL/MariaDB 数据库管理的 20 个 mysqladmin 命令

mysql管理员是一个命令行数据库管理实用程序,附带MySQL/MariaDB服务器,其使用者是数据库管理员执行一些基本操作MySQL设置 root 密码、更改 root 密码、监控 mysql 进程、重新加载权限、创建/删除数据库、检查服务器状态、显示使用情况统计、终止正在运行的查询等任务。

使用的命令mysql管理员一般语法是:

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

如果你没有MySQL/MariaDB服务器已安装或您正在使用旧版本MySQL服务器,那么我们建议您使用以下文章安装或更新MySQL版本:

在这篇文章中,我们整理了一些非常有用的“mysql管理员' 系统/数据库管理员在日常工作中使用的命令。你必须有MySQL/MariaDB服务器安装在您的系统上来执行这些任务。

1. 如何设置MySQL root密码

如果您全新安装MySQL/MariaDB服务器,那么它不需要任何密码即可以 root 用户身份连接。要设置MySQLroot用户的密码,使用以下命令。

# mysqladmin -u root password YOURNEWPASSWORD
设置新的 MySQL 密码

警告:使用设置新的 MYSQL 密码mysql管理员应被视为脆弱。在某些系统上,您的密码对系统状态程序可见,例如其他用户可以执行该命令来了解系统上活动进程的状态。

2. 如何更改MySQL root密码

如果您想更改或更新MySQLroot密码,那么你需要输入以下命令。例如,假设您的旧密码是123456你想用新密码来更改它XYZ123

# mysqladmin -u root -p123456 password 'xyz123'
更改 MySQL 密码

3. 如何检查MySQL服务器状态

为了查明是否MySQL服务器已启动并正在运行,请使用以下命令。

# mysqladmin -u root -p ping

Enter password:
mysqld is alive
检查MySQL运行状态

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服务器,使用以下命令。这mysql管理员命令显示的状态正常运行时间与跑步线程查询

# 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权限?

重新加载命令告诉服务器重新加载授权表和刷新命令刷新所有表并重新打开日志文件。

# 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刷新命令

以下是一些有用的刷新命令及其说明。

  • 刷新主机:从主机缓存中清除所有主机信息。
  • 冲水台:刷新所有表。
  • 齐平螺纹:刷新所有线程缓存。
  • 刷新日志:刷新所有信息日志。
  • 同花顺特权:重新加载授权表(与重新加载相同)。
  • 刷新状态:清除状态变量。

让我们看看这些命令。

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

现在,运行以下命令进程号如下图所示。

# mysqladmin -u root -p kill 5

Enter password:
+----+------+-----------+----+---------+------+-------+------------------+
| Id | User | Host      | db | Command | Time | State | Info             |
+----+------+-----------+----+---------+------+-------+------------------+
| 12 | root | localhost |    | Query   | 0    |       | show processlist |
+----+------+-----------+----+---------+------+-------+------------------+

如果你喜欢多个进程,然后通过进程ID用逗号分隔,如下所示。

# mysqladmin -u root -p kill 5,10

15. 如何同时运行多个 mysqladmin 命令

如果你想执行多个'mysql管理员' 命令在一起,那么命令将是这样的。

# 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 复制

启动/停止在从服务器上,使用以下命令。

# 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 --help
mysqladmin 命令帮助

我们已尽力囊括几乎所有的“mysql管理员' 命令及其示例在本文中,如果我们仍然遗漏了任何内容,请通过评论告诉我们,并且不要忘记与您的朋友分享。