在 InnoDB 存储引擎中,默认情况下是开启死锁检测的,因此你无需执行额外的操作来开启死锁检测。InnoDB 会自动周期性地检测系统中是否存在死锁,并根据相应的策略选择一个事务进行回滚,以解除死锁。
但是,你可以通过调整 InnoDB 的死锁检测参数来控制死锁检测的行为。主要关注的参数是`innodb_deadlock_detect`,该参数默认值为`ON`,表示开启死锁检测。
要确保死锁检测已启用,可以通过查询 MySQL 服务器的全局参数来确认,例如:
```sql
SHOW GLOBAL VARIABLES LIKE 'innodb_deadlock_detect';
```
如果 `innodb_deadlock_detect` 的值为 `ON`,表示死锁检测已启用。如果需要修改该参数,可以使用以下语句:
```sql
SET GLOBAL innodb_deadlock_detect = ON;
```
请注意,对于正常情况下的应用程序,通常不需要手动开启或关闭死锁检测。默认的行为已经足够处理死锁,并确保数据的一致性和稳定性。只有在特殊情况下,如特定的性能优化需求,才需要调整死锁检测相关的参数配置。