mysql 5.1.36 utf8mb4_MYSQL5.1升级到5.5及utf8mb4使用方法

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(字段不用)

0818b9ca8b590ca3270a3433284dd417.png

b.  修改mysql配置,重启mysql

0818b9ca8b590ca3270a3433284dd417.png

c.  C++代码调整(JAVA只需要更新JDBC即可,PHP及其他没有摸索)

其实很简单,读写之前,加一句下面的语句,改成2进制形式存储即可

set charset binary;

执行完逻辑sql语句后变回来

set charset utf8mb4;

以上

-----------------------------------------华丽的分割线----------------------------------------------------------------------------------

附上PHP文件上传的一些参考

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值