MySQL5.5升级到5.6

时间:2021-05-14 16:11:00

5.6的新的特性

1支持GTIDs,Failover.多线程复制。

新增binlog_row_image只记录row格式下所用字段的修改(而不是像以前一样记录全部列),节省空间等资源

master.info和relay-log.info支持存储在表中

支持延时复制:在change master to中增加MASTER_DELAY选项

有多个网络接口的slave可指定使用其中一个:在change master to中增加MASTER_BIND

2、另外增加了nosql接口,使用 memcached API 直接访问 NoSQL,可大幅提升 Web 应用中的数据访问性能,适合一些简单的查询

3、 Performance Schema ,增强提供新功能包括:表锁、表I/O 以及表锁等待,可监视各个用户/应用程序的资源占用情况

4.、Innodb加强

可以在Innodb 表上建全文索引;

几种ALTER TABLE操作不再拷备表,不会阻塞insert,update,delete或者全部写入操作。这就是所谓的online DDL在线表结构变更。

优化器统计持续化:重启不丢失。

支持read-only事务

有很多,参考:

http://blog.csdn.net/wulantian/article/details/29593803

http://www.ttlsa.com/mysql/summary-of-the-new-features-of-mysql5_6/ #特性细节

http://blog.chinaunix.net/xmlrpc.php?r=blog/article&uid=28437434&id=4450156 #升级注意点

https://dev.mysql.com/doc/refman/5.6/en/mysql-nutshell.html    #官方新特性文档

http://database.51cto.com/art/201304/388381.htm #简单概括

注意点

  • 全备份之前的数据,尽量使用mysqldump逻辑备份。我的mysql在lvm上所以我没有做逻辑备份,直接卸载了。##ps:我只是实验着完,你要是生成环境悠着点
  • 因为mysql5.6里有些数据格式和5.5不太一样,主要表现在时间类型,升级后直接mysql_upgrade可能有问题。
  • 如果是主从复制的架构,应先升级slave,以防止master版本大于slave时,binlog在slave上不兼容的问题。另外升级slave之前stop slave,并以skip-slave-start启动。
  • 另外配置文件最好同步改,一气呵成,到时不要网了
  • 重新安装perl DBD::mysql,以及PHP和Python相应的驱动包 ##没试过

源码安装MySQL

就跳过吧。和安装5.5的差不多

安装完成后恢复原来的数据

最后一步:

mysql_upgrade

mysql_upgrade:检查和升级表

mysql_upgrade -uroot -predhat

注意我一开始没有此操作,所以到后面做mysql Faileover的时候,想把master_info和relay_log_inFo写在mysql表里的时候。就没法写入,而且日志中出现大量的错误

基本上是提示表无法创建