Mysql 架构及优化之-mysql常用管理命令及工具安装和使用

599 查看

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/1190000005342547
查看慢查询日志存储位置:

  • 用法

-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

下载地址:http://pan.baidu.com/s/1eSCvFAq

  • 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
  • 用法

筛选数据库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