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,請在執行升級服務器端的時候重新指定一下字符集.
新聞熱點
疑難解答