MySQL升级后日志路径和配置必须显式重设:error log和slow-query-log-file需确保目录存在并授权;log-bin迁移要复制旧文件并避免直接删除;GTID模式下purge需谨慎;废弃参数如log_warnings须替换为log_error_verbosity;升级后必须运行mysqld --validate-config验证配置。MySQL 升级后,日志文件不能直接沿用旧路径或配置------尤其是 error log、slow-query-log-file、log-bin 这三类,稍有疏忽就会导致服务启动失败、复制中断或日志丢失。错误日志和慢查询日志迁移:权限和路径必须显式重设升级后 MySQL 仍会尝试读取原配置中的日志路径,但若目标目录不存在、权限不对,或配置被新版本忽略(比如 Windows 下 my.ini 未被加载),mysqld 可能静默降级到默认路径(如 /var/lib/mysql/hostname.err),而你完全不知道它没写进你指定的位置。编辑 my.cnf,在 mysqld 段明确写出:log-error = /var/log/mysql/error.log 和 slow-query-log-file = /var/log/mysql/slow.log确保目录存在:mkdir -p /var/log/mysql,并赋权:chown mysql:mysql /var/log/mysql不要依赖"自动继承"------哪怕旧版一直工作,升级后首次启动也建议加 --log-error-verbosity=3 查看实际日志输出位置二进制日志迁移:路径变更需重启,且旧 binlog 不可直接删除log-bin 是最易出问题的日志项。MySQL 8.0+ 对路径合法性校验更严格,若新路径含空格、软链接未解析、或父目录无 x 权限,启动直接报错 Failed to open log file;更麻烦的是,改完路径重启后,MySQL 会从 mysql-bin.000001 重新编号,旧 binlog 文件不会自动迁移,也不再被识别。 AI Code Reviewer AI自动审核代码
相关推荐
拾起零碎10 小时前
U8/触发器,把自定义项写入批次档案打工仔折腾 AI10 小时前
后端部署避坑:吃透IPv4地址、网络接口与CIDR前缀的实际应用IT199519 小时前
Fail2Ban 防护 MySQL 实战|登录失败 3 次,IP 封禁 24 小时夕除19 小时前
redis--IO 多路复用(select + poll)wangchunyu11421 小时前
JAVA CompletableFuture异步编程实战2501_944521591 天前
Immer 跨端三方库仓颉适配全流程信誓旦旦的程序猿1 天前
【Python量化实战宝典 #26】止损与回撤控制手册:移动止损、最大回撤(Python 可跑)2501_944521591 天前
Deepmerge 跨端三方库仓颉适配全流程lzhdim1 天前
100条常用SQL语句天河归来1 天前
从原始消息到业务数据:三层数据架构的设计与实践