MySQL报无法启动mysql服务 错误1067:进程意外中止,机器关机的时候没有正常关闭数据库,结果导致mysql日志文件损坏,重启之后无法正常恢复。
在mysql的配置文件my.ini中添加 :
innodb_force_recovery = 1
而关 于innodb_force_recovery参数,有6个参数
1. (SRV_FORCE_IGNORE_CORRUPT):忽略检查到的corrupt页。
2. (SRV_FORCE_NO_BACKGROUND):阻止主线程的运行,如主线程需要执行full purge操作,会导致crash。
3. (SRV_FORCE_NO_TRX_UNDO):不执行事务回滚操作。
4. (SRV_FORCE_NO_IBUF_MERGE):不执行插入缓冲的合并操作。
5. (SRV_FORCE_NO_UNDO_LOG_SCAN):不查看重做日志,InnoDB存储引擎会将未提交的事务视为已提交。
6. (SRV_FORCE_NO_LOG_REDO):不执行前滚的操作。
在Windows下,mysql启动不了的一般的流程:
1、先检查mysql的端口号是否被暂用,windows的cmd下使用,有用的话则把对应的程序关闭掉
windows下查询端口占用:netstat -ano | findstr "3306" ,由此可以得到占用端口的进程号
根据进程号PID得到进程名字:tasklist |findstr 6432 ,由此得到进程名称
windows杀死对应进程,用任务管理器,或者taskkill /PID 6432 或者taskkill /IM notepad.exe
2、如果没有端口占用,右击计算机---管理---服务,找到mysql,尝试启动,能启动最好,不能启动,会提示相应的报错,可以根据不同的错误类型,一般会得到相应的提示或解决方案,如不行,见下一步: