当前位置:首页 » 编程语言 » sql数据库启动不了

sql数据库启动不了

发布时间: 2024-12-08 21:18:10

1. sql数据库无法启动

故障处理
移除当前使用的 redo log 文件,然后可以试着启动数据库,结果启动失败!
提示:
[ERROR] InnoDB: Page [page id: space=0, page number=0] log sequence number 178377412422 is in the future! Current system log sequence number 165909011496.
这样的错误,这是因为 MySQL writer 线程按照配置的时间间隔以 page 为单位刷新 buffer 数据到磁盘。当数据刷新到磁盘的时候,新写入磁盘的 page 包含了较新的 LSN,此时系统 system 表空间头的 LSN 并没有同步更新,通常这是检查点线程的工作。在正常的崩溃恢复中,MySQL 可以借助 redo log 来进行前滚和回滚,但是此时 redo log 已经被我们删掉了,MySQL 无法进行恢复操作。此时,我们设置 innodb_force_recovery=3 来强制启动 MySQL,仍然启动不成功,改成 4 后启动了!
再使用 mysqlmp 导出备份,结果噩梦又降临了!MySQL 又 crash 了。
提示:
InnDB: Failed to find tablespace for table......
设置参数 innodb_force_recovery=5,数据库仍然启动失败,再设置成 6,启动成功!用 sqlmp 顺利把数据备份出来了!
再初始化数据库,把刚刚备份的数据库导入,数据库恢复成功完成!

参数说明
这里的关键是设置 innodb_force_recovery 参数,对应这个参数的说明如下:
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:不执行前滚的操作。

2. SQL服务器不能启动

原因:SQL服务器未获得计算机启动权限。
解决方法如下:
1、打开安装的SQL数据库,点击进入,进入后, 选择右上方“服务管理器”选项;
2、出现SqlServer服务界面,在此页面,点击启动选项;
3、启动完毕后,仍在服务管理器页面,下拉选择SqlServerAgent页面,在此页面,仍点击启动选项:
4、启动完毕后,重新点击进入Sql服务器登陆页面,重新输入账号与密码即可启动登陆。

热点内容
英女王访问中国 发布:2024-12-28 13:30:23 浏览:994
常用编程码 发布:2024-12-28 13:30:22 浏览:983
平板缓存错误 发布:2024-12-28 13:29:38 浏览:727
四川省服务器租用公司云空间 发布:2024-12-28 13:21:03 浏览:364
如何启动加密服务器 发布:2024-12-28 13:21:00 浏览:224
linux策略路由 发布:2024-12-28 13:15:45 浏览:182
iis7403禁止访问被拒绝 发布:2024-12-28 13:03:27 浏览:270
生日密码3号分别代表什么 发布:2024-12-28 13:02:10 浏览:315
奇瑞積架入门版配置是什么样的 发布:2024-12-28 12:28:35 浏览:207
王者微信安卓区哪个省分低 发布:2024-12-28 12:23:55 浏览:920