安裝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的路徑
近期迴響