主頁(yè) > 知識(shí)庫(kù) > 完美解決mysql啟動(dòng)后隨即關(guān)閉的問(wèn)題(ibdata1文件損壞導(dǎo)致)

完美解決mysql啟動(dòng)后隨即關(guān)閉的問(wèn)題(ibdata1文件損壞導(dǎo)致)

熱門(mén)標(biāo)簽:電銷(xiāo)機(jī)器人公眾號(hào)推送 南宋地圖標(biāo)注黃河華山 昆明智能外呼系統(tǒng)中心 地圖標(biāo)注培訓(xùn) 智能電銷(xiāo)機(jī)器人靠譜么 電銷(xiāo)機(jī)器人說(shuō)明書(shū) 長(zhǎng)安區(qū)違法建房地圖標(biāo)注 安國(guó)在哪里辦理400電話 手機(jī)用地圖標(biāo)注工具

機(jī)房一臺(tái)服務(wù)器上的mysql運(yùn)行一段時(shí)間了,突然出現(xiàn)了一個(gè)很奇怪的現(xiàn)象:重啟后無(wú)法恢復(fù)了!準(zhǔn)確情況是:?jiǎn)?dòng)mysql后隨即就又關(guān)閉了。

查看mysql錯(cuò)誤日志如下:

160920 22:41:41 mysqld_safe Starting mysqld daemon with databases from /home/MysqlData/
2016-09-20 22:41:41 0 [Note] /Data/app/mysql5.6.25/bin/mysqld (mysqld 5.6.25-log) starting as process 32372 ...
2016-09-20 22:41:42 32372 [Note] Plugin 'FEDERATED' is disabled.
2016-09-20 22:41:42 32372 [Warning] option 'innodb-write-io-threads': unsigned value 1000 adjusted to 64
2016-09-20 22:41:42 32372 [Warning] option 'innodb-read-io-threads': unsigned value 1000 adjusted to 64
2016-09-20 22:41:42 32372 [Note] InnoDB: Using atomics to ref count buffer pool pages
2016-09-20 22:41:42 32372 [Note] InnoDB: The InnoDB memory heap is disabled
2016-09-20 22:41:42 32372 [Note] InnoDB: Mutexes and rw_locks use GCC atomic builtins
2016-09-20 22:41:42 32372 [Note] InnoDB: Memory barrier is not used
2016-09-20 22:41:42 32372 [Note] InnoDB: Compressed tables use zlib 1.2.3
2016-09-20 22:41:42 32372 [Note] InnoDB: Using CPU crc32 instructions
2016-09-20 22:41:42 32372 [Note] InnoDB: Initializing buffer pool, size = 1.0G
2016-09-20 22:41:42 32372 [Note] InnoDB: Completed initialization of buffer pool
2016-09-20 22:41:42 32372 [Note] InnoDB: Highest supported file format is Barracuda.
2016-09-20 22:41:42 32372 [Note] InnoDB: Log scan progressed past the checkpoint lsn 20293587957
2016-09-20 22:41:42 32372 [Note] InnoDB: Database was not shutdown normally!
2016-09-20 22:41:42 32372 [Note] InnoDB: Starting crash recovery.
2016-09-20 22:41:42 32372 [Note] InnoDB: Reading tablespace information from the .ibd files...
2016-09-20 22:41:42 32372 [Note] InnoDB: Restoring possible half-written data pages
2016-09-20 22:41:42 32372 [Note] InnoDB: from the doublewrite buffer...
InnoDB: Doing recovery: scanned up to log sequence number 20293596130
2016-09-20 22:41:42 32372 [Note] InnoDB: Starting an apply batch of log records to the database...
InnoDB: Progress in percent: 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 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99
InnoDB: Apply batch completed
InnoDB: Last MySQL binlog file position 0 136254, file name mysql-bin.000013
2016-09-20 22:41:43 32372 [Note] InnoDB: 128 rollback segment(s) are active.
2016-09-20 22:41:43 32372 [Note] InnoDB: Waiting for purge to start
2016-09-20 22:41:43 7f77a9edd700 InnoDB: Assertion failure in thread 140151928772352 in file trx0purge.cc line 699
InnoDB: Failing assertion: purge_sys->iter.trx_no = purge_sys->rseg->last_trx_no
InnoDB: We intentionally generate a memory trap.
InnoDB: Submit a detailed bug report to http://bugs.mysql.com.
InnoDB: If you get repeated assertion failures or crashes, even
InnoDB: immediately after the mysqld startup, there may be
InnoDB: corruption in the InnoDB tablespace. Please refer to
InnoDB: http://dev.mysql.com/doc/refman/5.6/en/forcing-innodb-recovery.html
InnoDB: about forcing recovery.
02:41:43 UTC - mysqld got signal 6 ;
This could be because you hit a bug. It is also possible that this binary
or one of the libraries it was linked against is corrupt, improperly built,
or misconfigured. This error can also be caused by malfunctioning hardware.
We will try our best to scrape up some info that will hopefully help
diagnose the problem, but since we have already crashed,
something is definitely wrong and this may fail.

分析日志后發(fā)現(xiàn),數(shù)據(jù)庫(kù)無(wú)法重啟的原因是因?yàn)閕bdata1文件損壞,重啟后無(wú)法正?;謴?fù)。

解決辦法:

需要跳過(guò)恢復(fù)步驟,修改my.cnf文件,在my.cnf中的[mysqld]中添加:

innodb_force_recovery = 6
innodb_purge_threads = 1

解釋?zhuān)?br />

innodb_force_recovery可以設(shè)置為1-6,大的數(shù)字包含前面所有數(shù)字的影響。

具體數(shù)字對(duì)應(yīng)的含義:

1-----(SRVFORCEIGNORECORRUPT):忽略檢查到的corrupt頁(yè)。
2-----(SRVFORCENOBACKGROUND):阻止主線程的運(yùn)行,如主線程需要執(zhí)行full purge操作,會(huì)導(dǎo)致crash。
3-----(SRVFORCENOTRXUNDO):不執(zhí)行事務(wù)回滾操作。
4-----(SRVFORCENOIBUFMERGE):不執(zhí)行插入緩沖的合并操作。
5-----(SRVFORCENOUNDOLOGSCAN):不查看重做日志,InnoDB存儲(chǔ)引擎會(huì)將未提交的事務(wù)視為已提交。
6-----(SRVFORCENOLOG_REDO):不執(zhí)行前滾的操作。

再次啟動(dòng)mysql就ok了~

如果還無(wú)法啟動(dòng),則需要?jiǎng)h除數(shù)據(jù)目錄datafile下的 ibdata1,ib_logfile*等文件。

啟動(dòng)后導(dǎo)出MySQL數(shù)據(jù)庫(kù),重新恢復(fù)即可。

以上這篇完美解決mysql啟動(dòng)后隨即關(guān)閉的問(wèn)題(ibdata1文件損壞導(dǎo)致)就是小編分享給大家的全部?jī)?nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。

您可能感興趣的文章:
  • mysql-8.0.15-winx64 使用zip包進(jìn)行安裝及服務(wù)啟動(dòng)后立即關(guān)閉問(wèn)題
  • MySQL關(guān)閉密碼強(qiáng)度驗(yàn)證功能
  • MySQL 關(guān)閉子表的外鍵約束檢察方法
  • PHP中用mysqli面向?qū)ο蟠蜷_(kāi)連接關(guān)閉mysql數(shù)據(jù)庫(kù)的方法
  • 安全地關(guān)閉MySQL服務(wù)的教程
  • lnmp下如何關(guān)閉Mysql日志保護(hù)磁盤(pán)空間
  • Windows下使用批處理實(shí)現(xiàn)啟動(dòng)關(guān)閉mysql
  • MySQL數(shù)據(jù)庫(kù)開(kāi)啟、關(guān)閉、查看函數(shù)功能的方法
  • MySQL關(guān)閉過(guò)程詳解和安全關(guān)閉MySQL的方法
  • Mysql的游標(biāo)的定義使用及關(guān)閉深入分析
  • MySQL服務(wù)器的啟動(dòng)和關(guān)閉
  • 怎樣安全地關(guān)閉MySQL實(shí)例

標(biāo)簽:吉安 東莞 長(zhǎng)沙 合肥 江門(mén) 南昌 武漢 潛江

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《完美解決mysql啟動(dòng)后隨即關(guān)閉的問(wèn)題(ibdata1文件損壞導(dǎo)致)》,本文關(guān)鍵詞  完美,解決,mysql,啟動(dòng),后,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問(wèn)題,煩請(qǐng)?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無(wú)關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《完美解決mysql啟動(dòng)后隨即關(guān)閉的問(wèn)題(ibdata1文件損壞導(dǎo)致)》相關(guān)的同類(lèi)信息!
  • 本頁(yè)收集關(guān)于完美解決mysql啟動(dòng)后隨即關(guān)閉的問(wèn)題(ibdata1文件損壞導(dǎo)致)的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章