標籤:off install 開頭 anaconda 5.7 開啟 match recover data
記筆記是好習慣,記筆記是好習慣,記筆記是好習慣!
重要的事情說三遍。
說多了都是淚。第一次裝MYSQL時候就遇到了很多問題,當時解決了忘記記錄了。家裡硬碟滿了,於是買了個4T的硬碟重裝系統。重裝系統後開始了開發環境重裝。Anaconda3,pycharm,mongodb,pycharm... 到了mysql時候就遇到各種問題。
1、先把mysql-5.7.18-win32從H盤挪到D:\Program Files\mysql-5.7.18-win32。
2、建立設定檔D:\Program Files\mysql-5.7.18-win32\my.ini,內容為
[mysqld]
basedir=D:\Program Files\mysql-5.7.18-win32
datadir=D:\Program Files\mysql-5.7.18-win32\data
tmpdir=D:\Program Files\mysql-5.7.18-win32\MySqltemp
innodb_buffer_pool_size=64M
3、建立tmpdir。必須按照配置中的臨時目錄配置建立這個臨時目錄,不然後面啟動會報錯!!!
4、添加環境變數PATH=D:\Program Files\mysql-5.7.18-win32\bin
5、開啟cmd,進入D:\Program Files\mysql-5.7.18-win32\bin,執行mysqld --initialize
6、把D:\Program Files\mysql-5.7.18-win32\data移到D:\Program Files\mysql-5.7.18-win32\data1,執行mysqld --install。成功後,就可以在系統的服務裡看到mysql開頭的服務了。
7、上一步成功後,把產生的data檔案夾移為data2檔案夾,把剛才的data1移到data。恢複原來資料,如果不備份啟動會報錯,data檔案夾不為空白。
8、執行net start mysql,報錯無法啟動,那麼嘗試mysqld --remove,反覆執行幾次。
9、後面終於成功啟動了。卻串連成功後執行對原資料的一個select後服務瞬間停止。查看日誌D:\Program Files\mysql-5.7.18-win32\data\ZGC-20170506NQH.err 最後一行為:
2017-05-06T15:44:39.138589Z 3 [ERROR] InnoDB: Trying to access page number 1784129 in space 31, space name samp_db/dd_chaptername, which is outside the tablespace bounds. Byte offset 0, len 16384, i/o type read. If you get this error at mysqld startup, please check that your my.cnf matches the ibdata files that you have in the MySQL server.
多查了下,發現是日誌和資料不匹配。參看:https://dev.mysql.com/doc/refman/5.7/en/forcing-innodb-recovery.html
10、於是在my.ini中添加innodb_force_recovery = 6 重啟服務,再連進去查詢,終於恢複了!!!
特意寫了這篇日誌記錄下解決過程。
MYSQL-重做系統復原MYSQL過程