因为实际的业务需求最近就需要部署一些mysql服务器,而在部署mysql服务器中在做主从同步时用的都是MySQL Replication的主从同步的方法,当然实现mysql主从同步的方法还有很多,这里就只说使用MySQL Replication的主从同步的功能,在实现mysql的主从同步的常用的2种配置方式,当然可以根据实际的生产环境选择不同的方式,在这里就简单的把2种配置方法配置my.cnf说一下,因为以前有写过mysql的主从同步方法,这里就不再赘述了,需要可以参看:http://jim123.blog.51cto.com/4763600/1835480,这里为方便就用以上为例子
一、指定某个或者多个的库复制
这种方式主从同步多用于master中部分库或表需要复制,剩下的不复制,这种方式优点是在master中只要复制想要复制的库或表,其他的库表不会被复制,缺点也很明显就是如果要在master添加新的库需要被复制的时候mysql服务需要修改my.cnf重启mysqld服务,在my.cnf配置如下:
#在master中的“[mysqld]”下添加 server-id = 1#一般master都是用1,当然如果是其他架构就不一定 log-bin=mysql-bin relay-log = mysql-relay-bin#这个是同步的关键 #在slave中的“[mysqld]”下添加 server-id = 2 log-bin=mysql-bin report-host=192.168.168.253#主库的ip relay-log = mysql-relay-bin replicate-wild-do-table=database.%#需要同步主库里的某一个库,多个库可自行添加
二、排除mysql的权限库等,其余的全部复制
这种方式的优缺点和上一种相反,那么在master中create新的库被同步时不需要重启mysqld服务,在my.cnf配置如下:
#在master中的“[mysqld]”下添加 server-id = 1 log-bin=mysql-bin relay-log = mysql-relay-bin replicate_wild_ignore_table=mysql.% replicate_wild_ignore_table=information_schema.% #当然如果默认的test库没有drop也要加上 #在slave中的“[mysqld]”下添加 server-id = 2 log-bin=mysql-bin report-host=192.168.168.253#主库的ip relay-log = mysql-relay-bin replicate_wild_ignore_table=mysql.% replicate_wild_ignore_table=information_schema.% skip-slave-start#这个加上避免在slave复制进程启动mysqld时而启动
这样MySQL Replication的主从同步的常用方法的配置my.cnf文件就结束了
本文出自 “技术随笔” 博客,转载请与作者联系!
MySQL Replication的主从同步的常用2种配置方式
原文地址:http://jim123.blog.51cto.com/4763600/1862808