Mariadb Error fix

error status:
ERROR! MySQL is not running,but lock file (/var/lock/subsys/mysql) exists

InnoDB: Error: page 462 log sequence number 1075363798
InnoDB: is in the future! Current system log sequence number 1039653868.

fixed procedure:
/etc/my.cnf
[mysqld]
innodb_force_recovery = 1

Backup DB:
mysqldump -u root -p –all-databases > all-databases.sql

systemctl stop mariadb
remove below files:
/var/lib/mysql/
mv ib_logfile0 ib_logfile0.bak
mv ib_logfile1 ib_logfile1.bak
mv ibdata1 ibdata1.bak

systemctl start mariadb
/etc/my.cnf
[mysqld]
innodb_force_recovery = 0

restore DB:
mysql -u root -p < all-databases.sql

innodb_force_recovery可以设置为1-6,大的数字包含前面所有数字的影响。
具体数字对应的含义:
1 (SRVFORCEIGNORECORRUPT):忽略检查到的corrupt页。
2 (SRVFORCENOBACKGROUND):阻止主线程的运行,如主线程需要执行full purge操作,会导致crash。
3 (SRVFORCENOTRXUNDO):不执行事务回滚操作。
4 (SRVFORCENOIBUFMERGE):不执行插入缓冲的合并操作。
5 (SRVFORCENOUNDOLOGSCAN):不查看重做日志,InnoDB存储引擎会将未提交的事务视为已提交。
6 (SRVFORCENOLOG_REDO):不执行前滚的操作。

Refer to:
http://blog.cuicc.com/blog/2015/10/12/mysql-can-not-startup-after-loss-power/