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,請在執行升級伺服器端的時候重新指定一下字元集