目录
问题起源
自己搭建了一个四台centos7.4的CDH集群学习,突然有天发现CDH启动不了了
跑去 /opt/cm-5.13.1/log/cloudera-scm-server/cloudera-scm-server.log看错误日志 发现是mysql链接失败
然后用 service mysqld status 看了下状态 发现确实没有开机启动,
用 service mysqld start 发现确实启动不了,于是跑到 /var/log/mysqld.log 去查看问题出在哪里,于是发现了如下报错
InnoDB: Assertion failure in thread 140695947966208 in file trx0purge.cc line 168
InnoDB: Failing assertion: purge_sys->iter.trx_no <= purge_sys->rseg->last_trx_no
解决过程
从Failing assertion: purge_sys->iter.trx_no <= purge_sys->rseg->last_trx_no作为出发点找到了如下博客
http://www.phpblog.cn/article/9/72.shtml
解决方法为
需要跳过恢复步骤,修改my.cnf文件,在my.cnf中的[mysqld]中添加:
innodb_force_recovery = 6
innodb_purge_threads = 1
修改完成后再次输入mysql报错
但是输入service mysqld start发现已经可以正常启动了
ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO)
在[mysqld]后面任意一行添加“skip-grant-tables”用来跳过密码验证的过程
然后使用service mysqld restart重启服务,最后成功启动
启动CDH