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*有:
- Requiredby:
- 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--装
- #makeinstallclean
- #mysql-V
- mysqlVer14.14Distrib5.1.42,forportbld-freebsd8.0(amd64)using5.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-Rmysql: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,请在执行升级服务器端的时候重新指定一下字符集.