\W 显示warnging 或者SHOW WARNINGS
使用EXPLAIN命令分析查询语句
EXPLAIN EXTENDED select * from t1, t2\G
MyISAM引擎表修复 REPAIR TABLE T2;
CHECK TABLE T2;
myisamchk --backup --recover t2;
InnoDB 有启动选项恢复,--innodb_force_recovery
查询执行缓慢的时候SHOW PROCESSLIST\G;
锁相关信息表INNODB_LOCKS,INNODB_LOCK_WAITS,INNODB_TRX锁和等待锁的信息,information_schema库中
select * from innodb_locks\G;
select * from innodb_lock_wait\G;
select * from innodb_trx\G;
线程池情况
select * from THREADS\G;
show engine innodb status;
mutex_instance表会列出自服务器启动以来所有的冲突,获取LOCKED_BY_THREAD_ID不为空的记录
select * from mutex_instances where locker_by_thread_id is not null\G;
要找出谁在等待这些冲突,可以查询EVENTS_WAITS_CURRENT表
select thread_id, event_id, event_name, source, timer_start, object_instance_begin, operation from events_waits_current where thread_id in(select locked_by_thread_id from mutex_instances where locked_by_thread is not null)\G
查看引擎启动状态
show engines\G;
两个与复制相关的线程 I/O线程,负责处理主服务器过来的所有流量;SQL线程,重新执行事件,在从服务器上复制结果
查看从服务器状态show slave status\G;
I/O复制有关错误,从服务器无法连接主服务器,从服务器连接到主服务器,但不断断开连接,从服务器延迟
当从服务器无法连接时,首先在主服务器上检查复制用户是否有正确的权限,复制用户(在开始复制在change master查询中指定为master_user的用户)必须在主服务器上拥有replication slave权限,如果没有,在主服务器上对该用户授予此权限
二进制文件损坏,终端执行命令,mysqlbinlog --verbose --start-position=260 --stop-position=335 /Users/apple/Applications/mysql-6.1/data511/mysqld511-bin.000007.corruted
满查询日志记录的运行时间超过long_query_time秒的查询,该变量的默认值是10,默认情况下,这个选项不会记录管理语句和不用索引的快查询,但是可以分别设置log-slow-admin-statements和log_queries_not_using_indexes选项来记录这类查询
mysqldumpslow工具可以以一种汇总格式输出慢查询日志中的内容
终端输入mysqldumpslow /Users/apple/Applications/mysql-5.1/data512/mysqld512-apple-slow.log