MySQL自带工具

1、mysql
mysql的功能和Oracle的sqlplus一样,为用户提供一个命令行接口来操作管理MySQL服务器。
不太常用但有用的参数:
1)-e, --execute=name参数
这个参数是告诉mysql,我只要执行“-e”后面的某个命令,而不是要通过mysql连接登录到MySQL Server上面。
mysql -uroot -p123456 -e "show databases"
2)-E, --vertical参数
登入之后的所有查询结果都将以纵列显示,效果和我们在一条query之后以“\G”结尾一样
3)--prompt=name参数
其主要功能是定制自己的mysql提示符的显示内容。在默认情况下,我们通过mysql登入到数据库之后,mysql的提示符只是一个很简单的内容“mysql>”,没有其他任何附加信息。非常幸运的是mysql通过“--prompt=name”参数给我们提供了自定义提示信息的办法,可以通过配置显示登入的主机地址,登录用户名,当前时间,当前数据库schema,MySQL Server的一些信息等等。
4)--tee=name参数
用来告诉mysql,将所有输入和输出内容都记录进文件。在我们一些较大维护变更的时候,为了方便被查,最好是将整个操作过程的所有输入和输出内容都保存下来。有了“--tee=name”参数,就再也不用通过copy屏幕来保存操作过程了。

2、mysqladmin
mysqladmin,顾名思义,提供的功能都是与MySQL管理相关的各种功能。如MySQL Server状态检查,各种统计信息的flush,创建/删除数据库,关闭MySQL Server等等。mysqladmin所能做的事情,虽然大部分都可以通过mysql连接登录上MySQL Server之后来完成,但是大部分通过mysqladmin来完成操作会更简单更方便。
1)ping命令可以很容易检测MySQL Server是否还能正常提供服务
mysqladmin -uroot -p123456 -h localhost ping
mysqld is alive

2)status命令可以获取当前MySQL Server的几个基本的状态值
mysqladmin -uroot -p123456 -h localhost status
Uptime: 1342 Threads: 1 Questions: 9 Slow queries: 0 Opens: 105 Flush tables: 1 Open tables: 98 Queries per second avg: 0.006

3)processlist获取当前数据库的连接线程信息
mysqladmin -uroot -p123456 -h localhost processlist
+----+------+-----------------+----+---------+------+----------+------------------+
| Id | User | Host | db | Command | Time | State | Info |
+----+------+-----------------+----+---------+------+----------+------------------+
| 9 | root | localhost:62831 | | Query | 0 | starting | show processlist |
+----+------+-----------------+----+---------+------+----------+------------------+

3、mysqldump
其功能就是将MySQL Server中的数据以SQL语句的形式从数据库中dump成文本文件。
通过mysqldump所生成的文件,全部是SQL语句,包括数据库和表的创建语句。

4、mysqlimport
mysqlimport程序是一个将以特定格式存放的文本数据(如通过“select * into OUTFILE from …”所生成的数据文件)导入到指定的MySQL Server中的工具程序,比如将一个标准的csv文件导入到某指定数据库的指定表中。mysqlimport工具实际上也只是“load data infile”命令的一个包装实现。

5、mysqlbinlog
mysqlbinlog程序的主要功能就是分析MySQL Server所产生的二进制日志(也就是大家所熟知的binlog)。当我们希望通过之前备份的binlog做一些指定时间之类的恢复的时候,mysqlbinlog就可以帮助我们找到恢复操作需要做哪些事情。通过mysqlbinlog,我们可以解析出binlog中指定时间段或者指定日志起始和结束位置的内容解析成SQL语句,并导出到指定的文件中,在解析过程中,还可以通过指定数据库名称来过滤输出内容。

6、mysqlcheck
mysqlcheck工具程序可以检查(check),修复(repair),分析(analyze)和优化(optimize)MySQL Server中的表,但并不是所有的存储引擎都支持这里所有的四个功能,像Innodb就不支持修复功能。
mysqlcheck -uroot -p123456 -h localhost crcs

7、mysqlshow
快速查看数据库相关对象结构
mysqlshow -uroot -p -h localhost crcs t_crcs_batch_day