MySQL常用工具总结
- mysql
-P:指定端口
[mysqld]
port=端口号
-e:在终端执行SQL,不用登录,主要用于一些脚本程序
mysql -uroot -p1234 -h127.0.0.1 -P3306 -e"select * from user" db1
- mysqladmin
执行管理操作的工具
# 用法
mysqladmin [OPTIONS] command command....
# 创建库
mysqladmin -uroot -p1234 create db2
# 删除库
mysqladmin -uroot -p1234 drop db2
# 修改密码
mysqladmin -uroot -p1234 password 5678
# 查看更多用法
mysqladmin --help
- mysqlshow
客户端对象查看工具
–count:统计
-i:详细信息
mysqlshow -uroot -p1234 [OPTIONS] [database [table [column]]]
- mysqldump
-B, –databases:备份多个数据库
-A, –all-databases:备份所有数据库
–add-drop-database:创建库之前,增加删除库语句
–add-drop-table:创建表之前,增加删除表语句(默认,可以通过它取消:–skip-add-drop-table)
–single-transaction:通过事务备份(快照读保证数据的一致性)
-n:不要创建库语句
-t:不要创建表语句
-d:不要插入数据语句
-T path:产生两个文件(表结构:*.sql,表数据:*.txt),只能本地执行,数据文件存储在path路径里
mysqldump [OPTIONS] database [tables]
mysqldump [OPTIONS] --databases [OPTIONS] DB1 [DB2 DB3...]
mysqldump [OPTIONS] --all-databases [OPTIONS]
- mysqldumpslow
mysql官方提供的慢查询日志分析工具。
#输出记录次数最多的10条SQL语句。
mysqldumpslow -s r -t 10 /database/mysql/slow-log
#输出按照时间排序的前10条里面含有左连接的查询语句。
mysqldumpslow -s t -t 10 -g “left join” /database/mysql/slow-log
- 参数
-s:是sort的意思,表示按照何种方式排序, c、t、l、r分别是按照记录次数、时间、查询时间、返回的记录数来排序,ac、at、al、ar,表示相应的倒序;
-t:是top n的意思,即为返回前面多少条的数据;
-g:是grep的意思,后边可以写一个正则匹配模式,大小写不敏感的;
- mysqlimport
导入mysqldump -T导出的文本数据
mysqlimport [OPTIONS] database textfile...
- 执行sql脚本
source *.sql
- 导入自定义格式的文本数据
mysql --local-infile -uroot -p
set global local_infile=1;
# mysql5.7直接用,8.0需要前面两步
load data local infile '文件路径' into table 表名 fields terminated by '字段分隔符' lines terminated by '换行符';
- mysqlbinlog
待更新