mysql不小心更新了版本怎麼辦?造成mysql無法啟動?

在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] /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

之前在網路找到很多人的建議做法,就是先回復到原先的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可以順利啟動了囉!