电脑断电导致的mysql启动失败解决方式

mysql版本:mysql-5.7.30-winx64

注意:一定不要修改之前的data文件夹,不然会丢失数据。如果以下方法依旧启动失败,需要重新下载同版本mysql并安装,同时完整的复制data文件夹到新安装的mysql目录

解决方式一:

1,修改my.ini文件,在mysqld下添加innodb_force_recovery = 2,其中数字2可以是1-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):不执行前滚的操作。

完整的my.ini文件如下

[client]

port=3306

default-character-set=utf8

[mysqld]
innodb_force_recovery = 2
general-log=
log-output=FILE
general-log-file=D:\dev\mysql-5.7.32-winx64\mysql.log
log_error = D:\dev\mysql-5.7.32-winx64\mysql_error.log

skip-grant-tables
port=3306

character_set_server=utf8

basedir=D:\dev\mysql-5.7.32-winx64

#解压目录

datadir=D:\dev\mysql-5.7.32-winx64\data

#解压目录下data目录

sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES

[WinMySQLAdmin]

D:\dev\mysql-5.7.32-winx64\bin\mysqld.exe

2,重新启动mysql

net start mysql

3, 使用navicat重连数据库,恢复了所有库和表数据。

  • 0
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
处理一下出现的日志 Plugin 'FEDERATED' is disabled. 2017-11-15 19:23:46 16c0 InnoDB: Warning: Using innodb_additional_mem_pool_size is DEPRECATED. This option may be removed in future releases, together with the option innodb_use_sys_malloc and with the InnoDB's internal memory allocator. 2017-11-15 19:23:46 1404 [Note] InnoDB: Using atomics to ref count buffer pool pages 2017-11-15 19:23:46 1404 [Note] InnoDB: The InnoDB memory heap is disabled 2017-11-15 19:23:46 1404 [Note] InnoDB: Mutexes and rw_locks use Windows interlocked functions 2017-11-15 19:23:46 1404 [Note] InnoDB: Memory barrier is not used 2017-11-15 19:23:46 1404 [Note] InnoDB: Compressed tables use zlib 1.2.3 2017-11-15 19:23:46 1404 [Note] InnoDB: Not using CPU crc32 instructions 2017-11-15 19:23:46 1404 [Note] InnoDB: Initializing buffer pool, size = 9.0G 2017-11-15 19:23:46 1404 [Note] InnoDB: Completed initialization of buffer pool 2017-11-15 19:23:46 1404 [Note] InnoDB: Highest supported file format is Barracuda. 2017-11-15 19:23:46 1404 [Note] InnoDB: Log scan progressed past the checkpoint lsn 9219742510 2017-11-15 19:23:46 1404 [Note] InnoDB: Database was not shutdown normally! 2017-11-15 19:23:46 1404 [Note] InnoDB: Starting crash recovery. 2017-11-15 19:23:46 1404 [Note] InnoDB: Reading tablespace information from the .ibd files... 2017-11-15 19:23:46 1404 [Note] InnoDB: Restoring possible half-written data pages 2017-11-15 19:23:46 1404 [Note] InnoDB: from the doublewrite buffer... InnoDB: Doing recovery: scanned up to log sequence number 9219763629 InnoDB: 1 transaction(s) which must be rolled back or cleaned up InnoDB: in total 0 row operations to undo InnoDB: Trx id counter is 275040768 2017-11-15 19:23:47 1404 [Note] InnoDB: Starting an apply batch of log records to the database... InnoDB: Progress in percent: 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81
您好!对于MySQL断电后无法启动的问题,可以尝试以下几个解决方法: 1. 检查日志文件:MySQL通常会在启动或运行过程中生成日志文件,可以查看日志文件以了解具体错误信息。日志文件的路径可能在MySQL的配置文件中定义,一般是在MySQL的数据目录下,文件名可能是"error.log"或类似的名称。 2. 检查数据库文件完整性:断电可能导致数据库文件损坏,可以尝试使用MySQL自带的工具进行修复。可以使用以下命令尝试修复数据库文件: ``` mysqlcheck --repair --all-databases ``` 注意:在执行修复命令之前,建议先备份数据库文件。 3. 检查MySQL配置文件:断电后,MySQL的配置文件可能发生了变化,可以检查配置文件中的参数是否正确。主要关注以下几个参数: - datadir:指定MySQL数据目录的路径,确保路径正确。 - innodb_force_recovery:如果使用InnoDB存储引擎,可以尝试将该参数设置为1,以启动MySQL并恢复数据。 配置文件的路径可能在不同的操作系统和MySQL版本中有所不同,一般是在MySQL安装目录下的"my.cnf"或"my.ini"文件。 4. 检查文件权限:确保MySQL数据目录和日志文件的权限正确,MySQL需要有足够的权限来读写这些文件。可以使用以下命令修复权限问题: ``` chown -R mysql:mysql /var/lib/mysql chown -R mysql:mysql /var/log/mysql ``` 注意:根据实际情况修改路径和用户名。 如果以上方法无法解决问题,可以提供具体的错误信息和操作系统、MySQL版本等相关信息,以便更准确地进行故障排查。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值