关于mysql innodb启动失败无法重启的处理方法讲解
技术百科
jacklove
发布时间:2018-06-09
浏览: 次 电脑在使用过程中死机,重启后发现mysql没有启动成功,查看错误日志发现是innodb出现问题导致mysql启动失败。
错误日志
$ mysql.server start Starting MySQL . ERROR! The server quit without updating PID file (/usr/local/var/mysql/fdipzonedeMacBook-Air.local.pid).22:08:37 mysqld_safe Starting mysqld daemon with databases from /usr/local/var/mysql2016-04-23 22:08:38 0 [Warning] TIMESTAMP with implicit DEFAULT value is deprecated. Please use --explicit_defaults_for_timestamp server option (see documentation for more details).2016-04-23 22:08:38 0 [Note] /usr/local/Cellar/mysql/5.6.24/bin/mysqld (mysqld 5.6.24) starting as process 3604 ...2016-04-23 22:08:38 3604 [Warning] Setting lower_case_table_names=2 because file system for /usr/local/var/mysql/ is case insensitive2016-04-23 22:08:38 3604 [Note] Plugin 'FEDERATED' is disabled.2016-04-23 22:08:38 3604 [Note] InnoDB: Using atomics to ref count buffer pool pages2016-04-23 22:08:38 3604 [Note] InnoDB: The InnoDB memory heap is disabled2016-04-23 22:08:38 3604 [Note] InnoDB: Mutexes and rw_locks use GCC atomic builtins2016-04-23 22:08:38 3604 [Note] InnoDB: Memory barrier is not used2016-04-23 22:08:38 3604 [Note] InnoDB: Compressed tables use zlib 1.2.32016-04-23 22:08:38 3604 [Note] InnoDB: Using CPU crc32 instructions2016-04-23 22:08:38 3604 [Note] InnoDB: Initializing buffer pool, size = 128.0M2016-04-23 22:08:38 3604 [Note] InnoDB: Completed initialization of buffer pool2016-04-23 22:08:38 3604 [Note] InnoDB: Highest supported file format is Barracuda.2016-04-23 22:08:38 3604 [Note] InnoDB: Log scan progressed past the checkpoint lsn 689299334402016-04-23 22:08:38 3604 [Note] InnoDB: Database was not shutdown normally!2016-04-23 22:08:38 3604 [Note] InnoDB: Starting crash recovery.2016-04-23 22:08:38 3604 [Note] InnoDB: Reading tablespace information from the .ibd files...2016-04-23 22:08:38 3604 [ERROR] InnoDB: checksum mismatch in tablespace ./test_user/user_recommend_code#P#pmax.ibd (table test_user/user_recommend_code#P#pmax)2016-04-23 22:08:38 3604 [Note] InnoDB: Page size:1024 Pages to analyze:642016-04-23 22:08:38 3604 [Note] InnoDB: Page size: 1024, Possible space_id count:02016-04-23 22:08:38 3604 [Note] InnoDB: Page size:2048 Pages to analyze:482016-04-23 22:08:38 3604 [Note] InnoDB: Page size: 2048, Possible space_id count:02016-04-23 22:08:38 3604 [Note] InnoDB: Page size:4096 Pages to analyze:242016-04-23 22:08:38 3604 [Note] InnoDB: Page size: 4096, Possible space_id count:02016-04-23 22:08:38 3604 [Note] InnoDB: Page size:8192 Pages to analyze:122016-04-23 22:08:38 3604 [Note] InnoDB: Page size: 8192, Possible space_id count:02016-04-23 22:08:38 3604 [Note] InnoDB: Page size:16384 Pages to analyze:62016-04-23 22:08:38 3604 [Note] InnoDB: VALID: space:2947354 page_no:3 page_size:163842016-04-23 22:08:38 3604 [Note] InnoDB: Page size: 16384, Possible space_id count:12016-04-23 22:08:38 3604 [Note] InnoDB: space_id:2947354, Number of pages matched: 1/1 (16384)2016-04-23 22:08:38 3604 [Note] InnoDB: Chosen space:29473542016-04-23 22:08:38 3604 [Note] InnoDB: Restoring page 0 of tablespace 29473542016-04-23 22:08:38 3604 [Warning] InnoDB: Doublewrite does not have page_no=0 of space: 29473542016-04-23 22:08:38 7fff79b9e300 InnoDB: Operating system error number 2 in a file operation. InnoDB: The error means the system cannot find the path specified. InnoDB: If you are installing InnoDB, remember that you must create InnoDB: directories yourself, InnoDB does not create them. InnoDB: Error: could not open single-table tablespace file ./test_user/user_recommend_code#P#pmax.ibdInnoDB: We do not continue the crash recovery, because the table may become InnoDB: corrupt if we cannot apply the log records in the InnoDB log to it. InnoDB: To fix the problem and start mysqld: InnoDB: 1) If there is a permission problem in the file and mysqld cannot InnoDB: open the file, you should modify the permissions. InnoDB: 2) If the table is not needed, or you can restore it from a backup, InnoDB: then you can remove the .ibd file, and InnoDB will do a normal InnoDB: crash recovery and ignore that table. InnoDB: 3) If the file system or the disk is broken, and you cannot remove InnoDB: the .ibd file, you can set innodb_force_recovery > 0 in my.cnf InnoDB: and force InnoDB to continue crash recovery here.
解决方法
1.如果数据不重要或已经有备份,只需要恢复mysql启动
进入mysql目录,一般是:/usr/local/var/mysql/
删除ib_logfile*
删除ibdata*
删除所有数据库物理目录(例如数据库为test_db,则执行rm -rf test_db)
重启动mysql
重新建立数据库或使用备份覆盖
2.如果数据很重要且没有备份
可以使用innodb_force_recovery参数,使mysqld跳过恢复步骤,启动mysqld,将数据导出然后重建数据库。
innodb_force_recovery 可以设置为1-6,大的数字包含前面所有数字的影响
(SRV_FORCE_IGNORE_CORRUPT):忽略检查到的corrupt页。
(SRV_FORCE_NO_BACKGROUND):阻止主线程的运行,如主线程需要执行full purge操作,会导致crash。
(SRV_FORCE_NO_TRX_UNDO):不执行事务回滚操作。
(SRV_FORCE_NO_IBUF_MERGE):不执行插入缓冲的合并操作。
(SRV_FORCE_NO_UNDO_LOG_SCAN):不查看重做日志,InnoDB存储引擎会将未提交的事务视为已提交。
(SRV_FORCE_NO_LOG_REDO):不执行前滚的操作。
在my.cnf(windows是my.ini)中加入
innodb_force_recovery = 6
innodb_purge_thread = 0
重启mysql
这时只可以执行select,create,drop操作,但不能执行insert,update,delete操作
执行逻辑导出,完成后将innodb_force_recovery=0,innodb_purge_threads=1,然后重建数据库,最后把导出的数据重新导入
本文讲解了关于mysql innodb启动失败无法重启的处理方法讲解,更多相关内容请关注。
相关推荐:
讲解php获取指定日期的相关内容
详解PHP生成唯一RequestID类
如何通过MySQL查看数据库表容量大小
# 很重要
# 相关内容
# 解决方法
# 只需要
# 设置为
# 重启
# 可以使用
# 会将
# mysql
# 后将
# 不重要
相关栏目:
<?muma
$count = M('archives')->where(['typeid'=>$field['id']])->count();
?>
【
AI推广<?muma echo $count; ?>
】
<?muma
$count = M('archives')->where(['typeid'=>$field['id']])->count();
?>
【
SEO优化<?muma echo $count; ?>
】
<?muma
$count = M('archives')->where(['typeid'=>$field['id']])->count();
?>
【
技术百科<?muma echo $count; ?>
】
<?muma
$count = M('archives')->where(['typeid'=>$field['id']])->count();
?>
【
谷歌推广<?muma echo $count; ?>
】
<?muma
$count = M('archives')->where(['typeid'=>$field['id']])->count();
?>
【
百度推广<?muma echo $count; ?>
】
<?muma
$count = M('archives')->where(['typeid'=>$field['id']])->count();
?>
【
网络营销<?muma echo $count; ?>
】
<?muma
$count = M('archives')->where(['typeid'=>$field['id']])->count();
?>
【
案例网站<?muma echo $count; ?>
】
<?muma
$count = M('archives')->where(['typeid'=>$field['id']])->count();
?>
【
精选文章<?muma echo $count; ?>
】
相关推荐
- 获取 PHP 文件最后修改时间的正确方法
- 如何在 Laravel 中通过嵌套关联关系进行 o
- 如何使用Golang log记录不同级别日志_Go
- 如何提升Golang程序I/O性能_Golang
- ACF 教程:如何正确更新嵌套在多层 Group
- Win11此电脑不在桌面上_Windows 11桌
- Windows怎样关闭锁屏广告_Windows关闭
- XML的“混合内容”是什么 怎么用DTD或XSD定
- 静态属性修改会影响所有实例吗_php作用域操作符下
- Win11如何设置文件权限 Win11 NTFS文
- Win10如何更改用户账户控制_Windows10
- Win10怎样卸载自带Edge_Win10卸载Ed
- C#如何使用XPathNavigator高效查询X
- Win10如何更改网络连接_Windows10以太
- php485在php5.6下能用吗_php485旧
- Win11如何设置省电模式 Win11开启电池节电
- Mac怎么安装软件_Mac安装dmg与pkg文件的
- Windows10系统怎么查看防火墙状态_Win1
- Win11应用商店下载慢怎么办 Win11更改DN
- 手机php文件怎么变成mp4_安卓苹果打开php转
- C++如何使用Qt创建第一个GUI窗口?(入门教程
- Win11怎么设置麦克风权限_允许应用访问Win1
- Win10怎样安装Excel数据分析工具_Win1
- PyTorch DDP 多进程训练在 Kaggle
- VSC怎样在VSC中调试PHPAPI_接口调试技巧
- Win11怎么关闭粘滞键_彻底禁用Windows
- Win11怎么关闭触摸屏_禁用Win11笔记本触摸
- C++中引用和指针有什么区别?(代码说明)
- 企业SEO优化选择网站建设模板的技巧
- c++怎么处理多线程死锁_c++ lock_gua
- php中::能访问全局变量吗_全局作用域与类作用域
- Go 语言标准库为何不提供泛型切片的 Contai
- Win11屏幕亮度突然变暗怎么解决_自动变暗问题处
- PHP 中 require() 语句返回值的用法详
- Windows如何使用注册表查找和删除项?(reg
- Win11声音忽大忽小怎么办 Win11音频增强功
- 如何在Golang中处理云原生事件_使用Event
- Windows10如何删除Windows.old_
- 如何使用正则表达式批量替换重复的星号-短横模式为固
- 一文教你快速开通网站LOGO图
- Win11如何设置文件关联 Win11修改特定文件
- Win11怎么设置任务栏透明_Windows11使
- 如何使用Golang reflect检查方法数量_
- Win11怎么自动隐藏任务栏_Win11全屏显示设
- Python模块的__name__属性如何由导入方
- Windows10如何删除恢复分区_Win10 D
- 手机php怎么转mp4_手机端php文件转mp4a
- Python生成器表达式内存优化_惰性计算说明【指
- 微信里的php文件怎么变mp4_微信接收php转m
- Win11怎么查看显卡温度 Win11任务管理器查

ize: 8192, Possible space_id count:02016-04-23 22:08:38 3604 [Note] InnoDB: Page size:16384 Pages to analyze:62016-04-23 22:08:38 3604 [Note] InnoDB: VALID: space:2947354 page_no:3 page_size:163842016-04-23 22:08:38 3604 [Note] InnoDB: Page size: 16384, Possible space_id count:12016-04-23 22:08:38 3604 [Note] InnoDB: space_id:2947354, Number of pages matched: 1/1 (16384)2016-04-23 22:08:38 3604 [Note] InnoDB: Chosen space:29473542016-04-23 22:08:38 3604 [Note] InnoDB: Restoring page 0 of tablespace 29473542016-04-23 22:08:38 3604 [Warning] InnoDB: Doublewrite does not have page_no=0 of space: 29473542016-04-23 22:08:38 7fff79b9e300 InnoDB: Operating system error number 2 in a file operation.
InnoDB: The error means the system cannot find the path specified.
InnoDB: If you are installing InnoDB, remember that you must create
InnoDB: directories yourself, InnoDB does not create them.
InnoDB: Error: could not open single-table tablespace file ./test_user/user_recommend_code#P#pmax.ibdInnoDB: We do not continue the crash recovery, because the table may become
InnoDB: corrupt if we cannot apply the log records in the InnoDB log to it.
InnoDB: To fix the problem and start mysqld:
InnoDB: 1) If there is a permission problem in the file and mysqld cannot
InnoDB: open the file, you should modify the permissions.
InnoDB: 2) If the table is not needed, or you can restore it from a backup,
InnoDB: then you can remove the .ibd file, and InnoDB will do a normal
InnoDB: crash recovery and ignore that table.
InnoDB: 3) If the file system or the disk is broken, and you cannot remove
InnoDB: the .ibd file, you can set innodb_force_recovery > 0 in my.cnf
InnoDB: and force InnoDB to continue crash recovery here.
QQ客服