下文內(nèi)容主要給大家?guī)韎nnodb出現(xiàn)問題導致mysql啟動失敗如何應對講解,這里所講到的知識,與書籍略有不同,都是創(chuàng)新互聯(lián)建站專業(yè)技術人員在與用戶接觸過程中,總結(jié)出來的,具有一定的經(jīng)驗分享價值,希望給廣大讀者帶來幫助。
創(chuàng)新互聯(lián)建站專業(yè)提供服務器托管服務,為用戶提供五星數(shù)據(jù)中心、電信、雙線接入解決方案,用戶可自行在線購買服務器托管服務,并享受7*24小時金牌售后服務。電腦在使用過程中死機,重啟后發(fā)現(xiàn)mysql沒有啟動成功,查看錯誤日志發(fā)現(xiàn)是innodb出現(xiàn)問題導致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.如果數(shù)據(jù)不重要或已經(jīng)有備份,只需要恢復mysql啟動
進入mysql目錄,一般是:/usr/local/var/mysql/
刪除ib_logfile*
刪除ibdata*
刪除所有數(shù)據(jù)庫物理目錄(例如數(shù)據(jù)庫為test_db,則執(zhí)行rm -rf test_db)
重啟動mysql
重新建立數(shù)據(jù)庫或使用備份覆蓋
可以使用innodb_force_recovery參數(shù),使mysqld跳過恢復步驟,啟動mysqld,將數(shù)據(jù)導出然后重建數(shù)據(jù)庫。
innodb_force_recovery 可以設置為1-6,大的數(shù)字包含前面所有數(shù)字的影響
(SRV_FORCE_IGNORE_CORRUPT):忽略檢查到的corrupt頁。
(SRV_FORCE_NO_BACKGROUND):阻止主線程的運行,如主線程需要執(zhí)行full purge操作,會導致crash。
(SRV_FORCE_NO_TRX_UNDO):不執(zhí)行事務回滾操作。
(SRV_FORCE_NO_IBUF_MERGE):不執(zhí)行插入緩沖的合并操作。
(SRV_FORCE_NO_UNDO_LOG_SCAN):不查看重做日志,InnoDB存儲引擎會將未提交的事務視為已提交。
(SRV_FORCE_NO_LOG_REDO):不執(zhí)行前滾的操作。
在my.cnf(windows是my.ini)中加入
innodb_force_recovery = 6
innodb_purge_thread = 0
重啟mysql
這時只可以執(zhí)行select,create,drop操作,但不能執(zhí)行insert,update,delete操作
執(zhí)行邏輯導出,完成后將innodb_force_recovery=0,innodb_purge_threads=1,然后重建數(shù)據(jù)庫,最后把導出的數(shù)據(jù)重新導入
本文講解了關于mysql innodb啟動失敗無法重啟的處理方法講解,更多相關內(nèi)容請關注創(chuàng)新互聯(lián)網(wǎng)站制作公司。
相關推薦:
講解php獲取指定日期的相關內(nèi)容
詳解PHP生成唯一RequestID類
如何通過MySQL查看數(shù)據(jù)庫表容量大小
以上就是關于mysql innodb啟動失敗無法重啟的處理方法講解的詳細內(nèi)容,更多請關注創(chuàng)新互聯(lián)網(wǎng)站制作公司其它相關文章!