前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >MySQL之mysqladmin客户端

MySQL之mysqladmin客户端

作者头像
AsiaYe
发布2019-11-06 16:14:04
3.1K0
发布2019-11-06 16:14:04
举报
文章被收录于专栏:DBA随笔DBA随笔
MySQL之mysqladmin客户端
mysqladmin是MySQL官方提供的shell命令行工具,它的参数都需要在shell命令行里面执行,当我们使用mysqladmin的时候,必须指定两类参数,一类是连接参数,另外一类是命令参数,连接参数用来指定相应的连接信息,而命令参数用来指定命令信息,例如可以用来检查服务器的配置和当前状态、创建和删除数据库等。它的语法如下:
代码语言:javascript
复制
mysqladmin [options] command [command-options] [command [command options]] ...

除此之外,还有一些相关的参数配置(代码可以左滑哦~):

代码语言:javascript
复制
--bind-address=name   绑定远程访问主机的ip地址
-i, --sleep=#         间隔多长时间执行一次。
-c, --count=#         统计计数。与i选项配合使用。
-f, --force           强制执行,删除数据库是无需确认信息,多条语句执行时忽略其中某条语句的错误。
--default-character-set=name 设置默认字符集。
-?, --help             显示帮助信息。
-h, --host=name        指定连接主机。
-u, --user=name        登录用户。
-p, --password[=name]  登录密码,如果不写于参数后,则会提示输入。
-P, --port=#           指定数据库端口。
--protocol=name        使用的连接协议。(tcp,socket,pipe,memory)
-r, --relative         显示前后两次输出的差异。必须与i选项配合使用。
-s, --silent           静默退出。
-S, --socket=name      指定socket文件。
-v, --verbose          显示更多信息。
-V, --version          显示版本信息。
-w, --wait[=#]         如果连接断开,等待指定的时间后重试

这么多参数,想看着比较乱,那么我们来看看它具体能够帮我们做哪些事情吧:

1.查看服务器的状态:

代码语言:javascript
复制
#每隔两秒查看一次服务器的状态
[root@dev01 ~]# mysqladmin -uroot -p -i 2 -c 2 status
Enter password: 
Uptime: 42767  Threads: 2  Questions: 533  Slow queries: 0  Opens: 346  Flush tables:   Open tables:   Queries per second avg: 0.012
Uptime:   Threads:   Questions:   Slow queries:   Opens:   Flush tables:   Open tables:   Queries per second avg: 0.012

2.修改root密码:

代码语言:javascript
复制
#修改root密码
mysqladmin -u root -p原密码 password 'newpassword'

3.检查mysqlserver是否可用

代码语言:javascript
复制
#查询服务是否正常
[root@dev01 ~]# mysqladmin -uroot -p ping
Enter password: 
mysqld is alive

4.查询服务器的版本

代码语言:javascript
复制
[root@dev01 ~]# mysqladmin -uroot -p version
Enter password: 
mysqladmin  Ver 8.42 Distrib 5.7.19, for linux-glibc2.12 on x86_64
Copyright (c) 2000, 2017, 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.7.19
Protocol version    10
Connection        Localhost via UNIX socket
UNIX socket        /tmp/mysql.sock
Uptime:            12 hours 42 sec

Threads: 2  Questions: 538  Slow queries: 0  Opens: 346  Flush tables: 1  Open tables: 285  Queries per second avg: 0.012

5.查看系统当前的状态值 (省略其中的部分结果)

代码语言:javascript
复制
[root@dev01 ~]#  mysqladmin -uroot -p extended-status
Enter password: 
+-----------------------------------------------+----------+
| Variable_name                                 | Value    |
+-----------------------------------------------+----------+
| Aborted_clients                               |         |
| Aborted_connects                              |         |
| Innodb_num_open_files                         |       |
| Innodb_truncated_status_writes                |         |                                              
| Uptime                                        |     |
| Uptime_since_flush_status                     |     |
+-----------------------------------------------+----------+

6.查看服务器系统变量值

代码语言:javascript
复制
[root@dev01 ~]# mysqladmin -uroot -p variables
Enter password: 
......
| key_cache_block_size              |                                                                                                                                                                                                                                                                                                                                                                   |
| key_cache_division_limit          |                                                                                                                                                                                                                                                                                                                                                                                 |
| large_files_support               | ON                                                                                                                                                                                                                                                                                                                                                                                                               |
| large_page_size                   |                                                                                                                                                                                                                                                                                                                                                                                                                 |
| large_pages                       | OFF                                                                                                                                                                                                                                                                                                                                                                                                              |
| lc_messages                       | en_US                                                                                                                                                                                                                                                                                                                                                                                                            |
| lc_messages_dir                   | /usr/local/mysql/share/                                                                                                                                                                                                                                                                                                                                                                                          |
......

7.查看当前所有的进程

代码语言:javascript
复制
[root@dev01 ~]# mysqladmin -uroot -p processlist
Enter password: 
+----+------+----------------------+----------+---------+-------+----------+------------------+
| Id | User | Host                 | db       | Command | Time  | State    | Info             |
+----+------+----------------------+----------+---------+-------+----------+------------------+
|  | root | 192.168.56.102: | devopsdb | Sleep   |  |          |                  |
|  | root | localhost            |          | Query   |      | starting | show processlist |
+----+------+----------------------+----------+---------+-------+----------+------------------+

8.创建数据库

代码语言:javascript
复制
[root@dev01 ~]#  mysqladmin -uroot -p create db_test
Enter password: 
[root@dev01 ~]# mysql -uroot -p
Enter password: 
mysql: [Warning] Using a password on the command line interface can be insecure.
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 
Server version: 5.7.19 MySQL Community Server (GPL)

Copyright (c) 2000, 2017, 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 |
| TkGrowDB_dbo       |
| TkGrowLog_dbo      |
| cydevopsdb         |
| db_test            |
| yeyz               |
+--------------------+
 rows in set (0.00 sec)

mysql> exit
Bye

从上面的命令我们可以看到,我们已经通过create命令创建了数据库db_test

9.删除特定的数据库:

代码语言:javascript
复制
[root@dev01 ~]# mysqladmin -uroot -p drop db_test
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 'db_test' database [y/N] y
Database "db_test" dropped
[root@dev01 ~]# mysql -uroot -p
Enter password: 
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 
Server version: 5.7.19 MySQL Community Server (GPL)

Copyright (c) 2000, 2017, 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 |
| TkGrowDB_dbo       |
| TkGrowLog_dbo      |
| cydevopsdb         |
| yeyz               |
+--------------------+
 rows in set (0.00 sec)

在我们日常操作中,drop操作应该谨慎一些,可以看到,mysql也友好的给出了提醒。

10.重载权限表和刷新缓存(无明显输出)

代码语言:javascript
复制
[root@dev01 ~]# mysqladmin -uroot -p reload
Enter password:
[root@dev01 ~]# mysqladmin -uroot -p refresh
Enter password:

11.启用安全模式关闭数据库

代码语言:javascript
复制
[root@dev01 ~]# ps -ef|grep mysqld
root              : ?        :: /bin/sh /usr/local/mysql/bin/mysqld_safe --datadir=/data/mysql --pid-file=/data/mysql/dev01.pid
mysql          : ?        :: /usr/local/mysql/bin/mysqld --basedir=/usr/local/mysql --datadir=/data/mysql --plugin-dir=/usr/local/mysql/lib/plugin --user=mysql --log-error=/data/mysql/mysqld.log --pid-file=/data/mysql/dev01.pid --socket=/tmp/mysql.sock
root          : pts/    :: grep mysqld
[root@dev01 ~]# mysqladmin -uroot -p shutdown
Enter password: 
[root@dev01 ~]# ps -ef|grep mysqld
root          : pts/    :: grep mysqld

12.各种刷新命令

代码语言:javascript
复制
[root@dev01 ~]# mysqladmin -u root -ptmppassword flush-hosts
[root@dev01 ~]# mysqladmin -u root -ptmppassword flush-logs
[root@dev01 ~]# mysqladmin -u root -ptmppassword flush-privileges
[root@dev01 ~]# mysqladmin -u root -ptmppassword flush-status
[root@dev01 ~]# mysqladmin -u root -ptmppassword flush-tables
[root@dev01 ~]# mysqladmin -u root -ptmppassword flush-threads

14.停止和启动MySQL从节点复制过程

代码语言:javascript
复制
[root@dev01 ~]# mysqladmin -u root -p stop-slave
[root@dev01 ~]# mysqladmin -u root -p start-slave

以上就是mysqladmin最常用的一些功能,标注为红色的一般在工作中应用的范围及其广泛,可以多留意下。

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2018-12-20,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 DBA随笔 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
云数据库 SQL Server
腾讯云数据库 SQL Server (TencentDB for SQL Server)是业界最常用的商用数据库之一,对基于 Windows 架构的应用程序具有完美的支持。TencentDB for SQL Server 拥有微软正版授权,可持续为用户提供最新的功能,避免未授权使用软件的风险。具有即开即用、稳定可靠、安全运行、弹性扩缩等特点。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档