在XAMPP集成的MySQL环境中,锁等待时间由InnoDB存储引擎的innodb_lock_wait_timeout参数控制,该参数决定了事务等待行锁的最长时间,超过这个时间事务会自动回滚。调整这个参数可以适配不同的业务场景,避免不必要的锁等待超时错误。

查看当前锁等待时间配置
在修改之前,我们可以先查看当前MySQL实例的锁等待时间设置,打开XAMPP控制面板,启动Apache和MySQL服务,然后点击MySQL对应的Shell按钮进入命令行,执行以下命令登录MySQL:
mysql -u root -p # 输入密码后回车,默认root密码为空直接回车即可
登录成功后,执行以下SQL语句查看当前锁等待时间配置:
SHOW VARIABLES LIKE 'innodb_lock_wait_timeout';
执行后会返回类似如下的结果,其中Value就是当前的锁等待时间,单位是秒:
| Variable_name | Value |
|---|---|
| innodb_lock_wait_timeout | 50 |
临时修改锁等待时间
临时修改的方式只对当前MySQL会话生效,重启MySQL服务后配置会恢复原值,适合临时测试场景使用。在MySQL命令行中执行以下SQL即可完成修改:
-- 将锁等待时间修改为120秒,可根据实际需求调整数值 SET GLOBAL innodb_lock_wait_timeout = 120; -- 如果需要对当前会话生效,也可以执行下面的语句 SET SESSION innodb_lock_wait_timeout = 120;
修改完成后,再次执行查看变量的SQL语句,就能看到配置已经更新。这种方式的优点是操作简单,不需要重启服务,缺点是无法持久化保存配置。
永久修改锁等待时间
如果需要让修改在MySQL重启后依然生效,就需要修改XAMPP中MySQL的配置文件my.ini。操作步骤如下:
找到my.ini配置文件
XAMPP的MySQL配置文件默认存放在XAMPP安装目录下的mysql文件夹中,比如默认安装路径为C:xamppmysqlbinmy.ini,如果找不到可以通过XAMPP控制面板的MySQL配置按钮快速打开。
修改配置文件内容
用记事本或者其他文本编辑器打开my.ini文件,找到[mysqld]配置段,在该段下添加或修改innodb_lock_wait_timeout参数,示例如下:
[mysqld] # 其他原有配置项保留 innodb_lock_wait_timeout=120
修改完成后保存文件,回到XAMPP控制面板,先停止MySQL服务,再重新启动MySQL服务,配置就会生效。
验证永久修改结果
重启服务后再次登录MySQL,执行查看变量的SQL语句,就能看到锁等待时间已经更新为我们设置的数值,并且后续重启服务也不会恢复默认值。
注意事项
- 锁等待时间设置过短可能导致正常的事务因为短暂锁冲突就回滚,设置过长可能导致锁等待占用过多资源,需要根据实际业务场景合理调整数值。
- 修改my.ini文件时要注意格式,参数名和值之间用等号连接,不要添加多余的空格或者特殊字符。
- 如果修改后配置没有生效,可以检查my.ini文件是否保存成功,或者是否有多个my.ini文件存在,确保修改的是MySQL实际加载的配置文件。
XAMPPMySQL锁等待时间innodb_lock_wait_timeout修改时间:2026-06-15 05:45:15