九色91_成人精品一区二区三区中文字幕_国产精品久久久久一区二区三区_欧美精品久久_国产精品99久久久久久久vr_www.国产视频

Hello! 歡迎來到小浪云!


處理修復mysql innodb異常


avatar
小浪云 2024-11-24 357

一套測試用的mysql庫,之前用的centos6默認源里的mysql 5.1.71的版本 。后來想試用下percona server 5.7,由于這套庫里沒有什么重要數據 。所以操作前也未進行備份,配置好源后,直接就進行了安裝。數據文件也存放在默認位置,安裝完成后,直接啟動mysql,發現啟動失敗,發現無法啟動正常啟動。

一、回退重新裝mysql

為避免再從其他地方導入這個數據的麻煩,先對當前庫的數據庫文件做了個備份(/var/lib/mysql/位置)。接下來將Percona server 5.7包進行了卸載,重新安裝原先老的5.1.71的包,啟動mysql服務,提示Unknown/unsupported table type: innodb,無法正常啟動。

复制代码
  1. 110509 12:04:27 InnoDB: Initializing buffer pool, size = 384.0M 110509 12:04:27 InnoDB: Completed initialization of buffer pool InnoDB: Error: log file ./ib_logfile0 is of different size 0 5242880 bytes InnoDB: than specified in the .cnf file 0 157286400 bytes! 110509 12:04:27 [ERROR] Plugin 'InnoDB' init function returned error. 110509 12:04:27 [ERROR] Plugin 'InnoDB' registration as a STORAGE ENGINE failed. 110509 12:04:27 [ERROR] Unknown/unsupported table type: innodb 110509 12:04:27 [ERROR] Aborting 110509 12:04:27 [Note] /usr/sbin/mysqld: Shutdown complete

刪除/var/lib/mysql/目錄,重新啟動數據庫服務,并初始化,發現正常,show engines能發現有innodb引擎。再將數據庫停掉,將之前備份的/var/lib/mysql/目錄的內容覆蓋當前位置的內容,重啟。又發現不能進行啟動,報錯內容和剛剛一樣。

/var/lib/mysql目錄內容的結構如下:

复制代码
  1. -rw-rw---- 1 mysql mysql 10485760 2 26 18:10 ibdata1 -rw-rw---- 1 mysql mysql 5242880 2 26 18:10 ib_logfile0 -rw-rw---- 1 mysql mysql 5242880 2 26 17:20 ib_logfile1 drwx------ 2 mysql mysql 4096 2 26 17:20 mysql drwx------ 2 mysql mysql 4096 2 26 17:24 wiki

wiki目錄是測試數據的庫,ibdata1文件為數據文件,ib開頭的兩個文件為日志文件,mysql 目錄下為系統庫相關的東西 。再次使用初始化的數據,并將wiki目錄和ibdata1文件覆蓋到/var/lib/mysql 目錄下,可以正常啟動,也可以正常登錄。

二、innodb模塊重裝

不過在通過mysqldump備份時,又提示unknow table engine “Innodb” 。登錄后,查看當前所有的引擎類型,發現其中果然不存在innodb類型:

處理修復mysql  innodb異常

通過alter命令修改其中一個表的類型為MyISAM ,發現仍然報錯。

處理修復mysql  innodb異常

通過 find 查找發現/usr/lib64/mysql/plugin/目錄下有ha_innodb_plugin.so文件。印象中mysql5以后的版本支持在線插件安裝 。通過下面查看確認,果然支持:

處理修復mysql  innodb異常

使用如下命令加載時,發現不成功:

复制代码
  1. install plugin innodb soname 'ha_innodb.so';
三、備份

在/etc/my.cnf中增加如下配置:

复制代码
  1. plugin-load=innodb=ha_innodb_plugin.so plugin_dir=/usr/lib64/mysql/plugin/ default-storage-engine=InnoDB

發現仍啟動失敗。查看mysql-error.log發現有如下內容:

复制代码
  1. InnoDB: Database page corruption on disk or a failed InnoDB: file read of page 7. InnoDB: You may have to recover from a backup. InnoDB: It is also possible that your operating InnoDB: system has corrupted its own file cache InnoDB: and rebooting your computer removes the InnoDB: error. InnoDB: If the corrupt page is an index page InnoDB: you can also try to fix the corruption InnoDB: by dumping, dropping, and reimporting InnoDB: the corrupt table. You can use CHECK InnoDB: TABLE to scan your table for corruption. InnoDB: See also http://dev.mysql.com/doc/refman/5.1/en/forcing-innodb-recovery.html

打開forcing-innodb-recovery官方頁面,發現可以通過指定innodb_force_recovery參數,進行強制啟動和恢復。在/etc/my.cnf中增加如下內容:

复制代码
  1. innodb_force_recovery=6

重新啟動成功了。通過mysqldump備份也沒有問題,將備份數據導入其他主機發現也正常可以測試。

這下就好搞了,將mysql徹底刪除,重新安裝Percona server 5.7,安裝完后,建庫,還原數據,程序重新連接,一切OK。

總結:

由于mysql innodb數據文件的特性,可以在出現問題,無法正常啟動時,先將./ib_logfile0 和 ./ib_logfile1 兩個日志文件先移走,再啟動,如果還不成功,可以用innodb_force_recovery參數進行強制恢復。除此之外,日志也很重啟,有問題先看日志。

相關閱讀

主站蜘蛛池模板: 国产日韩欧美一区二区 | 国产电影一区二区在线观看 | 国产伦精品一区二区三区视频金莲 | 91在线精品秘密一区二区 | 国产一区亚洲 | 亚洲高清视频在线观看 | 久久国产精品-国产精品 | 成人区精品 | 国产欧美日韩久久久 | 黄色一级在线播放 | 黄片毛片免费观看 | 一级a毛片 | 一区二区三区国产 | 午夜黄色影院 | 精品国产视频 | 91一区二区三区在线观看 | 成人av激情 | 91精品国产综合久久久久久丝袜 | 嫩草影院网址 | 91日b| 欧美日韩一区二区三区在线观看 | 九色网址| 亚洲h在线观看 | 欧美午夜精品久久久久免费视 | 欧美激情亚洲激情 | 五月免费视频 | 国产激情精品 | 国产成人精品一区二区三区在线观看 | 成人高清网站 | 91精品国产综合久久婷婷香蕉 | 91在线看片 | 人人鲁人人莫人人爱精品 | 五月婷婷激情网 | 国产免费高清 | 亚洲国产精品成人久久久 | 日韩精品一区二区三区免费视频 | 一区二区三区在线电影 | 91精品久久| 国产特级毛片 | 国产精品久久久久久久一区探花 | 99精品欧美一区二区蜜桃免费 |