近日因為一個特殊需要,對mysql進行更新。 因為擔心資料遷移的差别大沒有選擇5.5。 而且伺服器需要運作,不能拖的時間太長。
下載下傳了官方win 32位安裝版。安裝的時候并沒有停止原先的 mysql 5.0, 過程中沒有沖突。安裝版安裝完,系統變量裡的“path”已經改變了。隻是在最後檢查啟動的時候,必須停止原Mysql服務。
我将原來的 data目錄下檔案複制到了新的 資料目錄,啟動服務提示了
“系統出錯, 發生系統錯誤 1067, 程序意外終止. 解決方法”。
于是在 my.ini 末尾加上
log-error=
在 data/ 下的 .err 檔案裡看到了如下錯誤
140212 14:01:10 [Note] Plugin 'FEDERATED' is disabled.
D:\Program Files\MySQL\MySQL Server 5.1\bin\mysqld: Table 'mysql.plugin' doesn't exist
140212 14:01:10 [ERROR] Can't open the mysql.plugin table. Please run mysql_upgrade to create it.
140212 14:01:10 InnoDB: Initializing buffer pool, size = 70.0M
140212 14:01:10 InnoDB: Completed initialization of buffer pool
……
這個錯誤網上是有很多說法的, 運作mysql_upgrade 也不行。
我臨時将 ib_logfile0 、 ib_logfile1 檔案移除, 發現服務能夠啟動了。 原因可能出在其中之一
對于複制data/資料者來說,問題多半出在這裡。InnoDB在更新的時候,最好使用語句導出導入。
轉載于:https://www.cnblogs.com/antarctican/p/3545919.html