MySQL 自带工具使用介绍
1、mysql命令
Mysql命令是用的最多的一个命令工具了,为用户提供一个命令行接口来操作管理MySQL 服务器。可以通过mysql --help来查看其详细使用方法。
1)-e、-u、-p、-h、-P、 等选项的使用语法
[ ~]# mysql -uroot -p123 -h 192.168.171.135 -P3306 mysql -e "show tables;"; # 上述命令的含义如下: # -uroot:使用root用户 # -p123.com:密码是123.com # -h:登录的主机地址是192.168.20.2 # -P:登录的端口是3306 # mysql:登录到库名为mysql的库中 # -e:后面是SQL语句 # 总结:使用密码为123.com的root用户,通过3306端口连接192.168.20.2的mysql库,查询mysql库中有哪些表。
返回结果如下:
2)--prompt使用方法
[ ~]# mysql -uroot -p123.com --prompt="\\\\h: \\d \\r:\\m:\\s> " #上述参数解:\u 表示用户名, \h 表示主机名, \d 表示当前数据库(none表示没有在任何库中); # \R小时 24小时制 \r小时(12小时制),\m分种,\s秒,\R小时 24小时制
返回结果如下:
上述方式每次连接都要写那些字符进行定制,非常麻烦,可以将其写入配置文件中的clinet字段下,之后再登录就可以省略了,如下:
[client] #注意写在client字段 prompt="\\\\h: \\d \\R:\\m:\\s> " #写入该行 # 注:无需重启MySQL服务,每次客户端连接都会去重新读取该配置 [mysqld] ..........#省略部分内容 #要记得重启服务哟
再次连接就不用再指定了,如下:
3)--tee使用方法
[ ~]# mysql -uroot -p123 --tee=/tmp/opt.log : (none) 22:48:18> show database; : (none) 22:48:24> show databases;
如下(注意屏幕打印的提示信息以及错误信息):
现在查看--tee指定的log文件,如下:
应该可以从上面的文件中看出,记录的是连接到数据库后,用户进行的所有操作命令及输出信息。
同样,“--tee”这个配置项也可以写入my.cnf这个主配置文件中的client字段下,如下:
[ ~]# vim /etc/my.cnf [client] ...........省略部分内容 prompt="\\\\h: \\d \\R:\\m:\\s> " tee=/tmp/opt.log
4)-H选项的使用方式
[ ~]# mysql -H -uroot -p123 -e "select * from mysql.user" > a.html #将查询的结果重定向输出到a.html文件中 [ ~]# sz a.html
用浏览器打开下载的文件显示如下:
同样,-X选项的使用方式也一样。
2、mysqladmin命令工具
mysqadmin,顾名思义,提供的功能都是与MySQL 管理相关的各种功能。如MySQL Server状态检查,各种统计信息的flush,创建/删除数据库,关闭MySQL Server 等等。mysqladmin所能做的事情,虽然大部分都可以通过mysql连接登录上MySQL Server 之后来完成,但是大部分通过mysqladmin来完成操作会更简单更
方便。
mysqladmin后面可以接选项,也可以接命令,这里就不说选项了,主要说一下命令
1)status命令字的使用
[ ~]# mysqladmin -uroot -p123 status
返回结果如下:
2)ping命令字的使用
服务启动状态下执行ping命令:
[ ~]# mysqladmin -uroot -p123 -h 192.168.171.135 ping
停止服务后再执行ping命令:
[ ~]# mysqladmin -uroot -p123 -h 192.168.171.135 ping
3)processlist、kill id,id..命令字的使用
[ ~]# mysqladmin -uroot -p123 processlist
使用kill命令字将其连接ID杀掉:
[ ~]# mysqladmin -uroot -p123 kill 5
3、mysqldump
这个工具其功能就是将MySQL Server中的数据以SQL 语句的形式从数据库中dump 成文本文件。mysqldump是做为MySQL 的一种逻辑备份工具,在我之前的博文中有这个工具的使用方法:MySQL的备份与恢复详解
4、mysqlbinlog
mysqlbinlog程序的主要功能就是分析MySQL Server 所产生的二进制日志(也就是binlog)。
通过mysqlbinlog,我们可以解析出binlog中指定时间段或者指定日志起始和结束位置的内容解析成SQL 语句。
[ data]# mysqlbinlog binary_log.000012 #指定二进制日志文件即可