mysqladmin是MySQL官方提供的shell命令行工具,它的参数都需要在shell命令行里面执行,当我们使用mysqladmin的时候,必须指定两类参数,一类是连接参数,另外一类是命令参数,连接参数用来指定相应的连接信息,而命令参数用来指定命令信息,例如可以用来检查服务器的配置和当前状态、创建和删除数据库等。它的语法如下:
mysqladmin [options] command [command-options] [command [command options]] ...
除此之外,还有一些相关的参数配置(代码可以左滑哦~):
--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.查看服务器的状态:
#每隔两秒查看一次服务器的状态[root@dev01 ~]# mysqladmin -uroot -p -i 2 -c 2 statusEnter password: Uptime: 42767 Threads: 2 Questions: 533 Slow queries: 0 Opens: 346 Flush tables: Open tables: Queries per second avg: 0.012Uptime: Threads: Questions: Slow queries: Opens: Flush tables: Open tables: Queries per second avg: 0.012
2.修改root密码:
#修改root密码mysqladmin -u root -p原密码 password 'newpassword'
3.检查mysqlserver是否可用
#查询服务是否正常[root@dev01 ~]# mysqladmin -uroot -p pingEnter password: mysqld is alive
4.查询服务器的版本
[root@dev01 ~]# mysqladmin -uroot -p versionEnter password: mysqladmin Ver 8.42 Distrib 5.7.19, for linux-glibc2.12 on x86_64Copyright (c) 2000, 2017, Oracle and/or its affiliates. All rights reserved.Oracle is a registered trademark of Oracle Corporation and/or itsaffiliates. Other names may be trademarks of their respectiveowners.Server version 5.7.19Protocol version 10Connection Localhost via UNIX socketUNIX socket /tmp/mysql.sockUptime: 12 hours 42 secThreads: 2 Questions: 538 Slow queries: 0 Opens: 346 Flush tables: 1 Open tables: 285 Queries per second avg: 0.012
5.查看系统当前的状态值 (省略其中的部分结果)
[root@dev01 ~]# mysqladmin -uroot -p extended-statusEnter password: +-----------------------------------------------+----------+| Variable_name | Value |+-----------------------------------------------+----------+| Aborted_clients | || Aborted_connects | || Innodb_num_open_files | || Innodb_truncated_status_writes | | | Uptime | || Uptime_since_flush_status | |+-----------------------------------------------+----------+
6.查看服务器系统变量值
[root@dev01 ~]# mysqladmin -uroot -p variablesEnter 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.查看当前所有的进程
[root@dev01 ~]# mysqladmin -uroot -p processlistEnter password: +----+------+----------------------+----------+---------+-------+----------+------------------+| Id | User | Host | db | Command | Time | State | Info |+----+------+----------------------+----------+---------+-------+----------+------------------+| | root | 192.168.56.102: | devopsdb | Sleep | | | || | root | localhost | | Query | | starting | show processlist |+----+------+----------------------+----------+---------+-------+----------+------------------+
8.创建数据库
[root@dev01 ~]# mysqladmin -uroot -p create db_testEnter password: [root@dev01 ~]# mysql -uroot -pEnter 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 itsaffiliates. Other names may be trademarks of their respectiveowners.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> exitBye
从上面的命令我们可以看到,我们已经通过create命令创建了数据库db_test
9.删除特定的数据库:
[root@dev01 ~]# mysqladmin -uroot -p drop db_testEnter 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] yDatabase "db_test" dropped[root@dev01 ~]# mysql -uroot -pEnter 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 itsaffiliates. Other names may be trademarks of their respectiveowners.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.重载权限表和刷新缓存(无明显输出)
[root@dev01 ~]# mysqladmin -uroot -p reloadEnter password:[root@dev01 ~]# mysqladmin -uroot -p refreshEnter password:
11.启用安全模式关闭数据库
[root@dev01 ~]# ps -ef|grep mysqldroot : ? :: /bin/sh /usr/local/mysql/bin/mysqld_safe --datadir=/data/mysql --pid-file=/data/mysql/dev01.pidmysql : ? :: /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.sockroot : pts/ :: grep mysqld[root@dev01 ~]# mysqladmin -uroot -p shutdownEnter password: [root@dev01 ~]# ps -ef|grep mysqldroot : pts/ :: grep mysqld
12.各种刷新命令
[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
13.停止和启动MySQL从节点复制过程
[root@dev01 ~]# mysqladmin -u root -p stop-slave[root@dev01 ~]# mysqladmin -u root -p start-slave
以上就是mysqladmin最常用的一些功能,标注为红色的一般在工作中应用的范围及其广泛,可以多留意下。
以上就是MySQL mysqladmin客户端的使用简介的详细内容,更多关于MySQL mysqladmin客户端的资料请关注其它相关文章!