2023-05-12 开启多语言插件支持……

常用的几个mysql命令

mysql 苏 demo 2772℃


> 显示哪些线程正在运行

SHOW PROCESSLIST;

> show processlist;只列出前100条,如果想全列出请使用show full processlist;

SHOW FULL PROCESSLIST;

> 查看当前有那些表是打开的

SHOW OPEN TABLES;

> 指定数据库查看当前有那些表是打开的

SHOW OPEN TABLES FROM database;

> 查看服务器状态

mysql的锁有表锁和行锁,myisam最小锁为表锁,innodb最小锁为行锁,可以通过以下命令获取锁定次数、锁定造成其他线程等待次数,以及锁定等待时间信息。

SHOW STATUS LIKE ‘%lock%’;

SHOW STATUS LIKE ‘Table%’;

如当Table_locks_waited与Table_locks_immediate的比值较大,则说明我们的表锁造成的阻塞比较严重,可能需要调整Query语句,或者更改存储引擎,亦或者需要调整业务逻辑。

当然,具体改善方式必须根据实际场景来判断。而Innodb_row_lock_waits较大,则说明Innodb的行锁也比较严重,且影响了其他线程的正常处理。

同样需要查找出原因并解决。造成Innodb行锁严重的原因可能是Query语句所利用的索引不够合理(Innodb行锁是基于索引来锁定的),造成间隙锁过大。

也可能是系统本身处理能力有限,则需要从其他方面来考虑解决。

> 查看服务器配置参数

SHOW VARIABLES LIKE ‘%timeout%’;

 

> MySQL 5.1之前的命令是:show innodbstatus\G;,MySQL 5.5使用上面命令即可查看innodb引擎的运行时信息

SHOW ENGINE INNODB STATUS\G;
SHOW INNODB STATUS\G;

 

 

打赏

转载请注明:苏demo的别样人生 » 常用的几个mysql命令

   如果本篇文章对您有帮助,欢迎向博主进行赞助,赞助时请写上您的用户名。
支付宝直接捐助帐号oracle_lee@qq.com 感谢支持!
喜欢 (0)or分享 (0)