在linux下利用yum 來做升級軟體或安裝linux程式套件等是很方便一件事,但不小心使用,也可能造成不可預期的問題…..
在做升級linux的某些套件時,忘了將重要mysql做備份,就不小心自動升級到最新版本的mysql
此時就可能會發生一個問題,你的資料庫再也無法啟動,
通常查詢/var/log/httpd/error_log
可能會出現以下的訊息
/usr/local/mysql/bin/mysqld: Table ‘mysql.plugin’ doesn’t exist
080908 19:38:06 [ERROR] Can’t open the mysql.plugin table. Please run mysql_upgrade to create it.
080908 19:38:06 [ERROR] Can’t open the mysql.plugin table. Please run mysql_upgrade to create it.
080908 19:38:06 [ERROR] /usr/local/mysql/bin/mysqld: unknown option ‘–skip-isam’
080908 19:38:06 [ERROR] Aborting
080908 19:38:06 [Note] /usr/local/mysql/bin/mysqld: Shutdown complete
080908 19:38:06 [ERROR] Aborting
080908 19:38:06 [Note] /usr/local/mysql/bin/mysqld: Shutdown complete
之前在網路找到很多人的建議做法,就是先回復到原先的mysql的版本,就會正常了!
而另一種做法就是直接從升級前,所做的mysqldump備份,再利用回存的方式到新的資料庫版本!
但如果像筆者想mysql即然都已經升級了就升級,若不想再回舊版本,
但資料庫又未做mysqldump該怎麼做呢?
其實可以利用以下方式
1.找到你新版的安裝的mysql_safe執行檔路徑切換至此路徑
2.執行mysql_sqde –datadir=/var/lib/mysql –user=mysql –skip-grant-tables &(避開tables檢查.啟動mysql server)
3.確認mysql server啟動
4.執行mysql_upgrade(進行資料庫upgrade,會有一些錯誤,不要理它)
5.確認執行完,關閉mysql server
6.啟動 mysql server
此時你就可以發現mysql server可以順利啟動了囉!
發佈留言