mysql serve 是5.1.x的,客戶端是 5.0.x的,用phpmyadmin,總有一個提示,說版本不匹配,感覺不爽。
用Ports的方法升級客戶端,不行,報錯。說5.1和5.0有沖突,只能先刪除。
用了 portmaster -o databases/mysql51-client mysql-client-5.0.89
也不行。
加上 export CONFLICTS=” 後執行,還是不行。看了
pkg_info mysql*
有
Required by:
php5-mysql-5.2.12
php5-mysqli-5.2.12
因為還跑著網站,就沒敢貿然行事。
這天趁網站人少的時候,干了一把
刪除老的package
#pkg_delete -f mysql-client-5.0.89
到mysql5.1 client的目錄
#cd /usr/ports/databases/mysql51-client
裝
#make install clean
#mysql -V
mysql Ver 14.14 Distrib 5.1.42, for portbld-freebsd8.0 (amd64) using 5.2
用portmaster升級2個有依賴的php組件
#portmaster php5-mysql php5-mysqli
等待
。
。
重啟apache,好了。
方法二
首先升級客戶端
#portmaster -o /usr/ports/databases/mysql55-client /usr/ports/databases/mysql51-client
這一步將會安裝cmake~
再升級服務器端(需要重新指定一下原來的字符集)
代碼如下 復制代碼#portmaster -o databases/mysql55-server databases/mysql51-server
由於新升級的mysql部分文件權限默認只有讀的權限,所以這裡修改一下執行文件權限和mysql存放data的目錄權限為可寫
代碼如下 復制代碼#mysql_install_db
#chown -R mysql:mysql /var/db/mysql
重啟動服務
代碼如下 復制代碼#/usr/local/bin/mysqld_safe &
下面我們升級
代碼如下 復制代碼#mysql_upgrade -u root -p password
修改配置文件
重新拷貝/usr/local/share/mysql中的配置文件或者自行修改/etc/my.cnf,將之前的skip-locking(已經無效)修改為skip-external-locking。
升級的過程中,發現一些字符集數據庫不支持了,如gbk,gb2312,請在執行升級服務器端的時候重新指定一下字符集