怎么解决mysql服务无法启动的问题

如题所述

1、情况一:MySQL的错误日志文件(安装目录\MYOA\data5\机器名.err)会记录如下内容:
InnoDB: Reading tablespace information from the .ibd files...
InnoDB: Error: trying to add tablespace 460 of name '.\td_oa\flow_data_35.ibd'
InnoDB: to the tablespace memory cache, but tablespace
InnoDB: 460 of name '.\td_oa\exam_data.ibd' already exists in the tablespace
解决方法:
1)剪切出安装目录\MYOA\data5\TD_OA的flow_data_35.ibd和flow_data_35.frm两个文件;
2)启动MySQL5_OA服务,使用备份的flow_data_35.sql导入到TD_OA库中。如果提示flow_data_35表已经存在不能导入,则继续按后续步骤执行;
3)在data5下手动建立tmp目录;
4)使用MySQL管理工具或MySQL命令行程序在tmp下建立名称为flow_data_35的表(包含一个字段即可);
5)将tmp下的flow_data_35.frm和flow_data_35.ibd拷贝到安装目录\MYOA\data5\TD_OA目录下;
6)在MySQL管理工具或MySQL命令行程序中,进入TD_OA库,使用“drop table flow_data_35;”命令清除公共表空间中残留的flow_data_35表的相关信息;
7)进入tmp库,删掉flow_data_35表;
8)使用备份的flow_data_35.sql导入到TD_OA库中;
9)如果还有其他表存在该问题,可重复执行4至8步骤。
2、情况二:MySQL的错误日志文件(安装目录\MYOA\data5\机器名.err)会记录如下内容:
130409 15:54:31 [Note] Plugin 'FEDERATED' is disabled.
130409 15:54:31 InnoDB: The InnoDB memory heap is disabled
130409 15:54:31 InnoDB: Mutexes and rw_locks use Windows interlocked functions
130409 15:54:31 InnoDB: Compressed tables use zlib 1.2.3
130409 15:54:32 InnoDB: Initializing buffer pool, size = 1023.0M
InnoDB: VirtualAlloc(1086849024 bytes) failed; Windows error 8
130409 15:54:32 InnoDB: Completed initialization of buffer pool
130409 15:54:32 InnoDB: Fatal error: cannot allocate memory for the buffer pool
130409 15:54:32 [ERROR] Plugin 'InnoDB' init function returned error.
130409 15:54:32 [ERROR] Plugin 'InnoDB' registration as a STORAGE ENGINE failed.
130409 15:54:32 [ERROR] Unknown/unsupported storage engine: Innodb
130409 15:54:32 [ERROR] Aborting
解决方法:
此情况出现的原因是myoa\mysql5\my.ini中innodb_buffer_pool_size的值太大,OA服务器操作系统不支持所致。改小后再启动mysql5_OA服务即可,一般保持和数据库大小一致。数据库大小即是myoa/data5的大小。
3、情况三:mysql服务启动不了,事件查看器中显示:The syntax '--log-slow-queries' is deprecated and will be removed in a future release. Please use '--slow-query-log'/'--slow-query-log-file' instead.
解决方法:安装目录\MYOA\data5下的ibdata1、ib_logfile0、ib_logfile1文件属性被设置为只读导致,取消只读控制,重启mysql5_OA服务即可。
4、情况四:MySQL的错误日志文件(data5\机器名.err)会记录如下内容:InnoDB: No valid checkpoint found.
解决方法:此问题找不到检查点,数据库是无效的,此种情况,只能用热备份数据恢复。
5、以上四种情况,是2013版OA系统目前比较常见的mysql服务启动不了的现象和解决办法,大家可作参考,其他情况的话,再具体分析处理。
6、分析思路总结:遇到mysql5_OA服务启动不了的情况,首先查看myoa\data5下的错误日志文件,根据日志中的具体内容进行具体分析。
7、2013版MYSQL服务启动不了(可以尝试强制启动mysql服务)方法如下:
1)打开\MYOA\mysql5\my.ini,去掉innodb_force_recovery=1前边的注释。
2)启动MySQL5_OA服务,此时MySQL处于只读状态,可以导出,不可写入。如果仍不能启动,可以尝试将innodb_force_recovery修改为2、3、4、5、6等,直到可以启动为止。
3)使用MySQL管理工具,将TD_OA等相关的数据库导出为SQL文件。
4)停止MySQL5_OA服务,删除TD_OA下的所有文件、ibdata1、ib_logfile0、ib_logfile1等文件。
5)打开\MYOA\mysql5\my.ini,在innodb_force_recovery=1前边加上#号,将该项注释掉。
6)启动MySQL5_OA服务,然后导入此前备份的SQL文件。
7)检查数据库,将无法通过该方法恢复的数据表,通过之前自动备份的SQL文件进行恢复。
温馨提示:内容为网友见解,仅供参考
第1个回答  2021-01-11
故障处理
移除当前使用的 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 后启动了!
再使用 mysqldump 导出备份,结果噩梦又降临了!MySQL 又 crash 了。
提示:
InnDB: Failed to find tablespace for table......
设置参数 innodb_force_recovery=5,数据库仍然启动失败,再设置成 6,启动成功!用 sqldump 顺利把数据备份出来了!
再初始化数据库,把刚刚备份的数据库导入,数据库恢复成功完成!

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

怎么解决mysql服务无法启动的问题
1、找到打开【mysql】安装目录,将其配置文件【my。default。ini】改为【my。ini】,并移动到【bin】文件中。2、开启命令,点击【bin】文件。3、点击输入【mysqld--initialize--user=mysql--console】,点击回车键。4、注意会获得一个临时密码,记录下来。5、点击输入【mysqld--install】,点击回车键...

如何解决MySQL服务启动失败问题mysql不启动服务
5.卸载并重新安装 MySQL 如果以上方法都无法解决 MySQL 服务启动失败的问题,可以考虑卸载 MySQL,重新下载并安装最新版的 MySQL,然后重新配置和启动 MySQL 服务。综上所述,MySQL 服务启动失败有很多原因,可以从日志、配置文件、进程、端口号等多个方面入手。一旦发现启动失败,应该及时检查错误原因,并采...

MySQL下载后无法正常启动解决方法mysql下载了启动不了
drwx——. 2 mysql mysql 133 12月 10 16:19 test 方法四:检查MySQL安装目录权限 MySQL启动失败的原因之四是MySQL安装目录权限不足。如果MySQL的安装目录权限不足,通常会出现“错误:文件夹无访问权限”的错误信息。解决方法是:1. 使用管理员身份启动cmd命令行窗口;2. 使用cd命令进...

如何解决MySQL无法自动启动的问题mysql不能自启动
方法一:设置MySQL服务为自动启动 1.按下“Win + R”键,输入“services.msc”打开“服务”窗口。2.在其中找到MySQL服务,右键单击选择“属性”。3.在“属性”窗口中选择“启动类型”,将其设置为“自动”。4.点击“应用”和“确定”按钮,然后重启计算机,MySQL服务就会自动启动。方法二:修改MySQL配...

MySQL错误无法重启如何解决mysql不能重启错误
如果您看到 MySQL 服务处于停止状态,则需要使用以下命令重新启动 MySQL 服务:sudo service mysql restart 但是,如果 MySQL 服务始终无法启动,则可能出现其他问题,需要进行更深入的检查。第三步:检查文件权限和配置文件 MySQL 运行所需要的文件和目录需要合适的权限。如果权限不正确,MySQL 将无法正常启动...

解决MySQL无法自动启动问题的方法mysql不能自动启动
chkconfig: – 80 20 这样就可以让MySQL在所有运行级别下都自动启动了。三、启动MySQL服务 如果以上方法都无法解决MySQL无法自动启动的问题,可以尝试手动启动MySQL服务。可以使用以下命令启动MySQL服务:sudo service mysql start 如果MySQL服务已经在运行中,则会提示服务已经在运行中了。如果MySQL服务...

如何解决MySQL服务不自动启动的问题mysql不自动启动服务
MySQL 的配置文件可能会出现错误,导致 MySQL 服务无法自动启动。我们可以查看 MySQL 的日志,来确定 MySQL 配置文件是否存在问题。步骤一:打开 MySQL 的日志文件路径。通常,日志文件存放在 MySQL 安装文件夹下的“data”目录中。步骤二:查找“error.log”文件,并打开它。步骤三:检查日志文件,看是否...

解决方法MySQL服务不自启动的问题mysql不自启动
解决方法:MySQL服务不自启动的问题 MySQL是非常流行的关系型数据库管理系统,它支持各种操作系统,如Linux、Windows和MacOS等。但是,在某些情况下,你可能会遇到MySQL服务无法自启动的问题,这个问题的解决需要以下步骤。1. 检查MySQL配置文件 MySQL的启动配置文件通常位于“\/etc\/my.cnf”或“\/etc\/mysql\/...

怎么解决mysql服务无法启动的问题
解决方法一:1、打开my.ini文件,找到default-storage-engine=InnoDB这一行,把它改成default-storage-engine=MyISAM;2、删除在MySQL安装目录下的Data目录中的ib_logfile0和ib_logfile1;3、找到在配置MySQL服务器时指定的InfoDB目录删除掉ibdata1 根据my.ini文件中:#*** INNODB Specific options **...

MySQL无法启动问题解决办法mysql不能运行
如果MySQL无法启动,可能是由于硬件故障引起的。我们可以检查硬件设备是否正常工作。在Windows系统中,我们可以打开设备管理器,检查硬件设备是否正常工作。如果硬件设备存在问题,我们需要修复或更换它们。总结 本文介绍了MySQL无法启动的常见原因和解决办法。我们可以根据错误消息和日志文件,逐个检查这些可能的原因...

相似回答