一、名词解释:1:server_uuid:服务器身份ID。在第一次启动Mysql时,会自动生成一个server_uuid并写入到数据目录下auto.cnf文件里,官方不建议修改。[root@mysql5_6 data]# pwd/usr/local/mysql/data[root@mysql5_6 data]# cat auto.cnf[auto]server-uuid=b0869d03-d4a9-11e1-a2ee-000c290a6b8f2:GTID:全局事务标识符。当开始这个功能时,每次事务提交都会在binlog里生成一个唯一的标示符,它由server_uuid和事务ID组成。首次提交的事务ID为1,第二次为2,第三次为3,依次类推。查看主机mastershow master status;File Position Binlog_Do_DB Binlog_Ignore_DB Executed_Gtid_Setbinlog.000001 184761 D68DBC47-3AAE-11E2-BC2F-842B2B699BDA:1-515在binlog日志已经存在的D68DBC47-3AAE-11E2-BC2F-842B2B699BDA:1-515值,如果有新进来的binlog日志中的gtid有和原来有重复,新进来的语句不执行。
二、新特性1:支持多线程复制.事实上是针对每个database开启相应的独立线程。即每个库有一个单独的(sql thread)如果线上业务中,只有一个database或者绝大多数压力集中在个别database的话,多线程并发复制特性就没有意义了2:启用GTID,无须再知道binlog和POS点,需要知道master的IP、端口,账号密码即可,因为同步复制是自动的,mysql通过内部机制GTID自动找点同步在my.cnf使用gtid_mode = ONdisable-gtid-unsafe-statements = 1注意:这两个参数无法在线修改,只能在my.cnf修改。
三、问题:GTID的局限性:1.GTID同步复制是基于事务。所以Myisam表不支持,这可能导致多个GTID分配给同一个事务。(5.6.9版本已经修改,支持修改Myisam表)2.gtid_mode和disable-gtid-unsafe-statements必须同时使用,不同时使用,启动Mysql报错。3.无法修改myisam表的数据,会提示Updates to non-transactional tables are forbidden when disable-gtid-unsafe-statements"4.不支持CREATE TEMPORARY TABLE、DROP TEMPORARY TABLE 临时表操作5.不支持CREATE TABLE ... SELECT语句。因为该语句会被拆分成create table 和insert两个事务,并且这个两个事务被分配了同一个GTID,这会导致insert被备库忽略掉6.GTID是自动同步,复制的时候没办法使用全备份+偏移量日志这种办法还原,从机的第一次同步只能从主机的第一个事务点开始还原,所以主机的binlog日志必须保持完整,binlog日志不能丢失。(mysql手册说mysql5.6.9以后的版本可以使用全备份+偏移量日志这种办法还原,继续等待mysql5.6.9出来后再测试)。以上的问题是RC版,相信到了正式版出来后,问题会有很大的改善。 (5.6.9的测试结果支持全备份+偏移量日志,执行mysqldump命令的时候,在dmp文件中会记录SET @@GLOBAL.GTID_PURGED="E6916BE4-4E3F-11E2-BBC7-000C29EE3F03:1-157",但是设置GTID_PURGED ,必须保证gtid_executed没有设置过,执行reset master即可。)
MongoDB 2.4.1 C++ driver编译和使用Windows下MySQL 5.6安装及配置详细图解相关资讯 MySQL 5.6 MySQL 5.6新特性
- MySQL 5.6 的--dump-slave参数的用 (07月03日)
- MySQL 5.6快速定位不合理索引 (05月07日)
- MySQL 5.6 参数之 extra_port (01月14日)
| - Linux下安装MySQL 5.6.10包冲突问 (05月10日)
- MySQL-5.6.x二进制版本安装记录 (04月10日)
- MySQL 5.6开启全查询日志时注意事 (12/21/2015 19:48:58)
|
本文评论 查看全部评论 (0)