MYSQL5.1升级到5.5及utf8mb4使用方法

1. mysql5.5升级安装参看以下两篇文章

    http://www.centoscn.com/image-text/setup/2014/0303/2485.html

    http://www.sijitao.net/1563.html

简单说一下流程

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

然后启动即可


2015-11-19重要更新

补充一个重要的点,升级后有时会出现grant,join等好些命令异常的问题,原因是表尤其是系统表没有升级,需要升级,具体参考下面链接

http://www.xuebuyuan.com/441728.html


2. 关于utf8mb4的使用

a. db,表批量转换成utf8mb4(字段不用)

    具体参考http://fatkun.com/2011/05/mysql-alter-charset.html

Clipboard Image.png

b.  修改mysql配置,重启mysql

具体参考http://www.cnmiss.cn/?p=390

Clipboard Image.png

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

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

      set charset binary;

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

       set charset utf8mb4;


以上


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

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

http://www.blogbus.com/wanping-logs/123101470.html   PHP规范

http://blog.sina.com.cn/s/blog_3cdfaea201008utf.html  文件上传接收方

http://liyixing1.iteye.com/blog/1115029  文件上传分隔符



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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值