安裝MySQL 4.1 版會遇的問題

繼”MySQL lifecycle“這篇之後,豆子有點不情願的 擇了MySQL4.1的版本安裝。其實二年前也曾裝過4.1的版本,只是最後因為編碼的問題和一些討厭的煩瑣錯誤。因為當時網路上的討論並不多,懶惰的豆子不想花時間在這上面,最後就一直停留在4.0的版本。

在完成MySQL 4.1版的安裝後,一貫的切換到phpMyadmin環境中設定資料庫的密碼並重新整理網頁,而這次網頁居然顯示了”Client does not support authentication protocol requested by server; consider upgrading MySQL client”的錯誤,話說之前起碼也裝過二三十次的MySQL從來也不曾出現這樣的訊息錯誤。

印象中以前也遇過這問題,所以用google大神查了一下資料,現在的資料可比以前多了許多,馬上就找到我要的答案。原來是MySQL的加密方法變了,可以用old_password()函數解決,以下是找到的解決方式及過程:

[root@dowdot]# mysql -uroot -p
Enter password:
Welcome to the MySQL monitor. Commands end with ; or g.
Your MySQL connection id is 44 to server version: 4.1.7-max
Type 'help;' or 'h' for help. Type 'c' to clear the buffer.
mysql>

解決方法:

一:

mysql> SET PASSWORD FOR
-> 'some_user'@'some_host' = OLD_PASSWORD('newpwd');

二:

mysql> UPDATE mysql.user SET Password = OLD_PASSWORD('新密碼') WHERE Host = 'localhost' AND User = '用户名';

mysql> FLUSH PRIVILEGES;

20100324補充:
安裝MySQL後,啟動時會發生如下的錯誤:
[ERROR] Fatal error: Can’t open and lock privilege tables: Table ‘mysql.host’ doesn’t exist

解決方法:初始化時多加一個–datadir 的參數

scripts/mysql_install_db --user=mysql --datadir=/mysqldata的路徑

發表迴響

你的電子郵件位址並不會被公開。 必要欄位標記為 *