1、mysql命令
Mysql命令是用的最多的一个命令工具了,为用户提供一个命令行接口来操作管理MySQL 服务器。
这里主要介绍一些在运维过程中会用到的相关选项:
首先看看“-e,
--execute=name”参数,这个参数是告诉mysql,我要执行“-e”后面的某个命令,而不是要通过mysql连接登录到MySQL
Server 上面。此参数在我们写一些基本的MySQL
检查和监控的脚本中非常有用,运维mysql时经常在脚本中使用到它。
#mysql -hhostname -Pport -uusername -ppassword -e 相关mysql的sql语句
如: mysql -uroot -p123456 -e "select user,host from user"
mysql
mysql -uroot -p123456 -e "select * from tb1" testdb;
如果在连接时候使用了“-E,
--vertical”参数,登入之后的所有查询结果都将以纵列显示,效果和我们在一条query
之后以“\G”结尾一样。
[root@localhost ~]# mysql -E -uroot -p
“-H,
--html”与“-X,
--xml”,在启用这两个参数之后,select出来的所有结果都会按照“Html”与“Xml”格式来输出,在有些场合之下,比如希望Xml或者Html
文件格式导出某些报表文件的时候,是非常方便的。
[root@localhost ~]# mysql -X -u root -p
2、mysqladmin命令
mysqadmin,顾名思义,提供的功能都是与MySQL
管理相关的各种功能。如MySQL
Server状态检查,各种统计信息的flush,创建/删除数据库,关闭MySQL
Server 等等。mysqladmin所能做的事情,虽然大部分都可以通过mysql连接登录上MySQL
Server 之后来完成,但是大部分通过mysqladmin来完成操作会更简单更方便。这里将介绍一下经常使用到的几个常用功能:
①ping命令可以很容易检测mysql server是否还能正常提供服务:
②status命令可以获取当前mysql server的几个基本的状态值:
mysqladmin status命令结果有下述列
Uptime:是mysql服务器运行的秒数。
Threads:活跃线程的数量即开启的会话数。
Questions: 服务器启动以来客户的问题(查询)数目 (只要跟mysql作交互,不管查询表,还是查询服务器状态都记一次)。
Slow queries:是慢查询的数量。
Opens:mysql已经打开的数据库表的数量
Flush tables: mysql已经执行的flush tables,refresh和reload命令的数量。
注:flush tables
//刷新表(清除缓存)
reload 重载授权表
refresh 洗掉所有表并关闭和打开日志文件
open:打开数据库的表的数量,以服务器启动开始。
Queries per second avg:select语句平均查询时间
Memory in use分配的内存(只有在MySQL用--with-debug编译时可用)
Max memory used分配的最大内存(只有在MySQL用--with-debug编译时可用)
③processlist获取当前数据库的连接信息:
监控mysql进程的运行状态:
以上的这三个功能在一些简单的监控脚本中经常使用到
下面编写一个简单的mysql监控脚本,内容如下:
3 、 mysqldump命令
这个工具其功能就是将MySQL
Server中的数据以SQL
语句的形式从数据库中dump
成文本文件。mysqldump是做为MySQL
的一种逻辑备份工具
4、mysqlbinlog命令
mysqlbinlog程序的主要功能就是分析MySQL
Server 所产生的二进制日志(也就是binlog)。
通过mysqlbinlog,我们可以解析出binlog中指定时间段或者指定日志起始和结束位置的内容解析成SQL
语句。