远程修复方法:1. 登录服务器,停止MySQL服务:systemctl stop mysqld;2. 以安全模式启动:mysqld_safe --skip-grant-tables --skip-networking &; 3. 连接MySQL:mysql -u root mysql;4. 执行SQL:UPDATE user SET plugin='mysql_native_password' WHERE user='root'; FLUSH PRIVILEGES;;5. 重启MySQL:systemctl restart mysqld;6. 重新设置root密码:ALTER USER 'root'@'localhost' IDENTIFIED BY '新密码';;
来源1
ER_IB_MSG_134 错误是MySQL 8.0版本中innodb的redo log文件损坏导致的,常见于突然断电、重启或磁盘问题。MY-011959是其内部错误码。直接原因是ib_logfile0或ib_logfile1文件不匹配。
来源2
远程修复步骤:ssh到服务器,mv /var/lib/mysql/ib_logfile* /tmp/ 备份日志文件,然后重启mysqld,如果还是报错,innodb_force_recovery=1在my.cnf中临时加,重启后dump数据重建。
来源3
这个错误是因为MySQL升级后redo log格式变了,老的ib_logfile不兼容。解决:停止服务,删除ib_logfile0和ib_logfile1(先备份),MySQL重启会自动重建。远程用rm -f /data/mysql/ib_logfile*。
来源4
我遇到MY-011959,检查发现磁盘空间不足,/var/lib/mysql空间满了。清理后重启就好。远程df -h检查,rm日志文件重建。
来源5
在my.cnf添加innodb_log_file_size=128M(匹配当前),但最好删掉旧logfile:systemctl stop mysqld; rm ib_logfile*; systemctl start mysqld。远程操作安全。
来源6
ER_IB_MSG_134是InnoDB: Redo log format is wrong. 修复:备份数据目录,删ib_logfile,重启。远程用mysqldump先备份表。
来源7
FAQ:
Q: 删ib_logfile会丢数据吗?
A: 不会,MySQL重启自动重建redo log,数据在ibdata1安全。
Q: 为什么突然出现这个错?
A: 通常是异常关机、升级MySQL或硬件故障。
Q: 远程重启MySQL怎么操作?
A: systemctl restart mysqld 或 service mysql restart,根据系统。
Q: 还是报错怎么办?
A: 加innodb_force_recovery=3启动,导出数据重建实例。