
数据库运维9 min read
MySQL 死锁了怎么办:从锁类型到死锁日志怎么看
应用日志里蹦出一行: ``` Deadlock found when trying to get lock; try restarting transaction ``` 很多人第一反应是加个重试就完事。重试确实能让业务不报错,但死锁频繁说明**并发控制的设计有问题**,光重试是把火药桶盖住了

应用日志里蹦出一行: ``` Deadlock found when trying to get lock; try restarting transaction ``` 很多人第一反应是加个重试就完事。重试确实能让业务不报错,但死锁频繁说明**并发控制的设计有问题**,光重试是把火药桶盖住了

那个报错 ``` Deadlock found when trying to get lock; try restarting transaction ``` 第一次见到这行,我的反应和大多数人一样——加个重试。重试确实有用,死锁本来就是数据库自己会挑一个事务回滚掉,业务层补一次通常就过