状态查看与事务要点
- 看服务器状态:SHOW STATUS; 看警告:SHOW WARNINGS;
- 看错误:SHOW ERRORS; 看引擎事务状态:SHOW ENGINE INNODB STATUS;
- 开事务:START TRANSACTION; 或 BEGIN;
- 提交:COMMIT; 回滚:ROLLBACK;
- 锁表:LOCK TABLES 表名 WRITE/READ; 释放:UNLOCK TABLES;
- 设隔离级别:SET TRANSACTION ISOLATION LEVEL 级别;
状态查看与事务示例
SHOW STATUS;
SHOW WARNINGS;
SHOW ENGINE INNODB STATUS;
-- 把两笔转账绑成一个事务
START TRANSACTION;
UPDATE accounts SET balance = balance - 100 WHERE id = 1;
UPDATE accounts SET balance = balance + 100 WHERE id = 2;
COMMIT;
-- 出问题就 ROLLBACK;
LOCK TABLES orders WRITE;
-- 处理独占写
UNLOCK TABLES;
避坑提醒:SHOW ENGINE INNODB STATUS 是排查锁等待和长事务的金矿,但输出很长,重点看 TRANSACTIONS 段里『等待锁』和『持有锁』的那些行。