mysql 排查问题一些小技巧

1.mysqldump 导入导出数据:

mysqldump -uroot -ppassword -h 127.0.0.1  --no-create-info  --databases 数据库名 --tables 表表名 --skip-lock-tables> C://db.sql
mysql -uroot -ppassword -h 127.0.0.1  --default-character-set=utf8 数据库名< C://db.sql

 2.mysql查看表空间

select 
table_schema as '数据库',
table_name as '表名',
table_rows as '记录数',
truncate(data_length/1024/1024, 2) as '数据容量(MB)',
truncate(index_length/1024/1024, 2) as '索引容量(MB)'
from information_schema.tables
where table_schema='db_name'
and TABLE_name='table_name'
order by data_length desc, index_length desc;

3.查看链接数:

 show PROCESSLIST;

通过mysql的端口定位是哪个线程占用

netstat -ntp |grep 46888

通过线程号排查是哪个应用

ps -ef | grep pid

4.通过“SHOW GLOABL STATUS” 统计相关数据:

./mysqladmin -hhost -uroot -ppassword ext -i1 | awk ' 
/Queries/{q=$4-qp;qp=$4}
/Threads_connected/{tc=$4}
/Threads_running/{printf "%5d %5d %5d\n",q,tc,$4}'

 该命令每秒捕获一次GLOABL STATUS的数据,输出给awk 计算并输出每秒的查询数,链接和正在执行查询的线程数。

5.根据Mysql每秒将当前时间写入日志的模式,统计每秒的查询数量:

awk '/^# Time:/{print $3 ,$4,c;c=0}/^# User/{c++}' slow-query.log

 

 

 

 

 

你可能感兴趣的:(数据库,mysql)