1. mysql5.5升级安装参看以下两篇文章
简单说一下流程
a. 备份数据(mysql)
mysqldump -u root -pMyPassword DbName --lock-tables=false > data.sql
备份配置文件/etc/my.cnf 以及 二进制程序
此外还可以备份mysql库,mysql头文件,mysql share文件及其他mysql的二进制程序
b. 关闭相关的服务进程(apache,c_srv),停止mysql,删除mysql二进制程序文件
c. 安装cmake
wget http://www.cmake.org/files/v2.8/cmake-2.8.12.2.tar.gz
tarx zvfc cmake-2.8.12.2.tar.gz
cd cmake-2.8.12.2
./configure
make && make install
d. 下载安装mysql5.5及依赖
wget http://dev.mysql.com/get/Downloads/MySQL-5.5/mysql-5.5.36.tar.gz
tar xzvf mysql-5.5.36.tar.gz
cd mysql-5.5.36
cmake -DCMAKE_INSTALL_PREFIX=/usr/local/mysql -DEXTRA_CHARSETS=all -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci -DWITH_READLINE=1 -DWITH_SSL=system -DWITH_ZLIB=system -DWITH_EMBEDDED_SERVER=1 -DENABLED_LOCAL_INFILE=1 -DMYSQL_DATADIR=/data/mysql
make && make install
wget http://dev.mysql.com/get/Downloads/MySQL-5.5/mysql-5.5.36.tar.gz
tar xzvf mysql-5.5.36.tar.gz
cd mysql-5.5.36
wget -c "http://bugs.mysql.com/file.php?id=19941&bug_id=68999" -O mysql-openssl.patch
patch -p1 < mysql-openssl.patch
e. 配置和启动mysql
cd /usr/local/mysql
scripts/mysql_install_db --user=mysql
cp support-files/my-medium.cnf /etc/my.cnf
cp support-files/mysql.server /etc/init.d/mysql
chmod +x /etc/init.d/mysql
在配置文件中添加数据目录,datadir = /data/mysql
/etc/init.d/mysql start(这里要注意mysql是否关了,之前遇到的bug就是不知为何mysql又起来了导致新的mysql拉不起来,这时候需要通过log找原因,ip.err)
/usr/local/mysql/bin/mysql_upgrade 这句可以不用
f. mysql客户端启动
ln -s /usr/local/mysql/bin/mysql /usr/bin
然后启动即可
2. 关于utf8mb4的使用
a. db,表批量转换成utf8mb4(字段不用)
b. 修改mysql配置,重启mysql
c. C++代码调整(JAVA只需要更新JDBC即可,PHP及其他没有摸索)
其实很简单,读写之前,加一句下面的语句,改成2进制形式存储即可
set charset binary;
执行完逻辑sql语句后变回来
set charset utf8mb4;
以上
-----------------------------------------华丽的分割线----------------------------------------------------------------------------------
附上PHP文件上传的一些参考