十二、MySQL 问题

文章讨论了在使用Liquibase时遇到的等待变更日志锁(changeloglock)的数据库死锁问题。通过查询FLW_EV_DATABASECHANGELOGLOCK表并手动更新locked、lockgranted和lockedby字段来解除死锁状态。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >


一、操作问题

1. Liquibase: Waiting for changelog lock 数据库死锁问题

-- 查询
SELECT * FROM FLW_EV_DATABASECHANGELOGLOCK;

-- 更新
UPDATE FLW_EV_DATABASECHANGELOGLOCK 
SET locked=0, lockgranted=null, lockedby=null 
WHERE id=1;
### 可能的原因分析 MySQL 在晚上 12 点自动弹出 CMD 窗口的行为可能由以下几个原因引起: #### 定时任务触发 系统中可能存在通过 Windows 的“任务计划程序”设置的定时任务,在特定时间(如凌晨 12 点)执行某些操作。这些任务可能会调用命令行工具或脚本,从而导致 CMD 窗口被启动[^2]。 #### 开机运行配置 注册表中的 `HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer\Run` 键值可能包含了指向某个可执行文件或批处理脚本的路径。当该键值存在并指向与 MySQL 或其他相关服务关联的内容时,可能导致 CMD 窗口在指定条件下被激活[^3]。 #### 命令扩展影响 CMD 解释器默认启用了命令扩展功能,这允许更多高级特性的使用。然而,如果某些脚本依赖于关闭此特性来正常工作,则可能出现异常行为。尽管这种情况较少见,但仍需注意 `/eff` 和 `/en` 参数的作用及其潜在副作用[^1]。 --- ### 解决方案建议 针对上述可能性,可以采取以下措施逐一排查问题根源并加以修复: #### 方法一:检查任务计划程序 按照描述的操作步骤访问“任务计划程序”,仔细查找是否有任何设定为每天午夜执行且涉及 MySQL 数据库管理或其他后台进程维护工作的项目。一旦发现可疑条目,请审查其属性详情,并考虑调整执行时机或者禁用不必要的自动化流程。 #### 方法二:清理注册表多余项 进入注册表编辑界面定位至 `HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer\Run` 路径下查看是否存在不当记录。若有匹配到已知无用的应用入口定义则应予以移除以消除干扰因素。 #### 方法三:优化 CMD 执行环境 对于需要用到自定义参数控制命令处理器行为的情况,确保了解每种开关的实际用途后再合理应用它们。例如确认是否真的有必要频繁切换命令扩展状态(/eff,/en),否则尽量保持一致的标准配置减少不确定性风险。 另外还可以尝试修改 mysql 配置文件 my.ini 中关于 log-error 设置部分增加日志级别以便获取更加详细的错误信息辅助诊断实际发生的状况。 ```ini [mysqld] log-error=C:\path_to_your_log_directory\mysql_error.log general-log=ON general-log-file=C:\path_to_your_log_directory\query.log ``` 以上更改有助于捕获所有查询活动以及服务器内部运作细节进而帮助识别根本诱因所在位置。 --- ###
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

骑士梦

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值