mysql常用管理命令
查看数据库信息
mysql>s
查看引擎
mysql> show engines;
查看插件
mysql> show plugins;
查看数据库执行进程
mysql> show processlist ;
mysqldump工具
命令位于:/usr/local/mysql/bin/mysqldump
备份所有数据库
# mysqldump -uroot -psmudge --all-databases> /home/smudge_database.sql
备份库smudge
# mysqldump -uroot -psmudge --databases smudge >/home/smudge-database.sql
导出库smudge 中 表cs_line
# mysqldump -uroot -psmudge --databases smudge --tables cs_line >/home/smudge-cs_line.sql
导出库smudge 中 表cs_line line_id = 6 的数据 及表结构
# mysqldump -uroot -psmudge --databases smudge --tables cs_line --where='line_id=6' >/home/smudge-cs_line-6.sql
备份同时生成新的binlog文件, 使用 -F
# mysqldump -uroot -psmudge --databases smudge --tables cs_line -F >/home/smudge-cs_line-binlog.log
只导出表结构不导出数据,--no-data
# mysqldump -uroot -psmudge --databases smudge --tables cs_line --no-data >/home/smudge-cs_line-structure.sql
跨服务器导出导入数据
将128服务器 smudge库中的in_line 表 导入到 130 服务器smudge 库中 加上-C参数可以启用压缩传递
# mysqldump --host 192.168.206.128 -uroot -psmudge --databases smudge --tables in_line | mysql --host=192.168.206.130 -uroot -psmudge smudge
mysqldumpslow
慢查询日志分析
首先是要开启慢查询日志 请看我的文章:https://segmentfault.com/a/11...查看慢查询日志存储位置:
用法
-s, 是表示按照何种方式排序,c、t、l、r分别是按照记录次数、时间、查询时间、返回的记录数来排序,ac、at、al、ar,表示相应的倒叙
-t, 是top n的意思,即为返回前面多少条的数据
-g, 后边可以写一个正则匹配模式,大小写不敏感的
mysqldumpslow -s -r 按照返回的记录数排序
mysqldumpslow -s -r /home/mysql-run/mysql_slow.log
mysqldumpslow -t 1 查看前1条
过滤 order by 慢查询
mysqldumpslow -r -g 'order by' /home/mysql-run/mysql_slow.log
mysqlsla工具
安装完毕命令位于: /usr/local/bin/mysqlsla
默认mysqlsla 工具是不可以使用的,需要添加依赖环境
依赖相关
相关:DBD-mysql-4.013.tar.gz DBI-1.608.tar.gz mysqlsla-2.03.tar.gz
DBI的编译安装
# tar xvfz DBI-1.608.tar.gz # cd DBI-1.608 # perl Makefile.PL # make # make test # make install
DBD-mysql驱动模块的编译安装
# tar xvfz DBD-mysql-4.013.tar.gz # cd DBD-mysql-4.011 # perl Makefile.PL # make # make install
mysqlsla的编译安装
tar zxf mysqlsla-2.03.tar.gz cd mysqlsla-2.03 perl Makefile.PL make make install
安装可能遇到的问题
yum install perl-ExtUtils-MakeMaker perl-ExtUtils-CBuilder
yum install perl-Time-HiRes
用法
筛选数据库smudge慢查询
mysqlsla -lt slow /home/mysql-run/mysql_slow.log
筛选数据库smudge慢查询 ,并排除select语句 ,只取前两条
mysqlsla --lt slow --sf -select --database smduge --top 2
/home/mysql-run/mysql_slow.log