mysql 5.6 基于Gtid的mysql主从复制 和 mysql-proxy 读写分离

jackxiang 2013-12-3 11:00 | |
http://linuxnx.blog.51cto.com/6676498/1209443
http://database.51cto.com/art/201304/387688.htm

mysql 5.6 基于 gtid 主从复制和 mysql-proxy 读写分离

MySQL 5.6引入的GTID(Global Transaction IDs)使得其复制功能的配置、监控及管理变得更加易于实现,且更加健壮。

gtid是一个 unique 唯一的表示符,他是由服务器的uuid 全局唯一标示,是由128位的随机符组成,mysql-5.6是依靠server-id和uuid 来标示复制架构中的每一个主机,因为是128位的随机字符串在全局都不会重复,server-id 和uuid以及每一个mysql事物的事物序号组成了唯一的gtid ,自从引进mysql-5.6之后每一个二进制日志当中在每一个事物的首部都会写上gtid 标记,因此gtid使得追踪和比较复制事物变得非常简单而且能够实现从崩溃中快速恢复。尤其是innodb 引擎要想实现高可用功能必须要借助于gtid来实现。

要在MySQL 5.6中使用复制功能,其服务配置段[mysqld]中于少应该定义如下选项:

binlog-format:二进制日志的格式,有row、statement和mixed几种类型;

需要注意的是:当设置隔离级别为READ-COMMITED必须设置二进制日志格式为ROW,现在MySQL官方认为STATEMENT这个已经不再适合继续使用;但mixed类型在默认的事务隔离级别下,可能会导致主从数据不一致;

log-slave-updates、gtid-mode、enforce-gtid-consistency、report-port和report-host:用于启动GTID及满足附属的其它需求;

master-info-repository和relay-log-info-repository:启用此两项,可用于实现在崩溃时保证二进制及从服务器安全的功能;

sync-master-info:启用之可确保无信息丢失;

slave-paralles-workers:设定从服务器的SQL线程数;0表示关闭多线程复制功能;

binlog-checksum、master-verify-checksum和slave-sql-verify-checksum:启用复制有关的所有校验功能;

binlog-rows-query-log-events:启用之可用于在二进制日志记录事件相关的信息,可降低故障排除的复杂度;

log-bin:启用二进制日志,这是保证复制功能的基本前提;

server-id:同一个复制拓扑中的所有服务器的id号必须惟一.


                               ......
                               ......
mysql> show global variables like '%gtid%';
+--------------------------+----------------------------------------------+
| Variable_name            | Value                                        |
+--------------------------+----------------------------------------------+
| enforce_gtid_consistency | ON                                           |
| gtid_executed            | 7f2cc0fa-49f6-11e3-a528-001ec9e940d7:1-44407 |
| gtid_mode                | ON                                           |
| gtid_owned               |                                              |
| gtid_purged              |                                              |
+--------------------------+----------------------------------------------+

mysql> show processlist;
+--------+--------------+------------------+----------+---------+------+-------+------------------+
| Id     | User         | Host             | db       | Command | Time | State | Info             |
+--------+--------------+------------------+----------+---------+------+-------+------------------+
| 243323 | just_writer | 10.70.3*.**:39534   | just_sns | Sleep   | 1255 |       | NULL             |
+--------+--------------+------------------+----------+---------+------+-------+------------------+
写得细,应该不用细说。

作者:jackxiang@向东博客 专注WEB应用 构架之美 --- 构架之美,在于尽态极妍 | 应用之美,在于药到病除
地址:https://jackxiang.com/post/6850/
版权所有。转载时必须以链接形式注明作者和原始出处及本声明!


最后编辑: jackxiang 编辑于2013-12-3 14:02
评论列表
发表评论

昵称

网址

电邮

打开HTML 打开UBB 打开表情 隐藏 记住我 [登入] [注册]