mysql主主复制,只因为mycat集群需要
2016-06-16 17:49
621 查看
本来想着搭建一下mysql的主从复制,可以把mycat的mysql集群搞起来,发现,mysql主从搭建的mycat mysql集群不太合理,所以,还是用先搭建下mysq的主主复制吧。顺便记下笔记,将来方便查阅。
在前篇文章http://blog.csdn.net/yingxiake/article/details/51691986,mysql的主从复制搭建上,搭建下mysql的主主复制,也是很简单。
1、分别修改配置文件,添加如下内容
由于二都只有server-id不同和 auto-increment- offset不同auto-increment-offset是用来设定数据库中自动增长的起点的,回为这两能服务器都设定了一次自动增长值2,所以它们的起点必须得不同,这样才能避免两台服务器数据同步时出现主键冲突,配置好重启MySQL读取新的配置文件,另外auto-increment-increment的值应设为整个结构中服务器的总数,本案例用到两台服务器,所以值设为2
2、分别为俩台master创建各种的用户供对方使用
2、分别给用户授予复制权限
3、分别重启服务,通过show master status 查看二进制文件名称还有pos位置,为slave配置复制位置
4、分别切换master,注意master_log_file还有master_log_pos
5、分别利用命令启动slave
6、测试结果,在master1上创建数据库,master2是否能同步,然后再在master2上创建表写数据,看master1能否同步。
到此配置完成…
在前篇文章http://blog.csdn.net/yingxiake/article/details/51691986,mysql的主从复制搭建上,搭建下mysql的主主复制,也是很简单。
1、分别修改配置文件,添加如下内容
#master1上 [mysqld] server-id=101 log-bin = mysql-bin auto-increment-increment = 2 auto-increment-offset = 1000 #master2上 [mysqld] server-id=103 log-bin = mysql-bin auto-increment-increment = 2 auto-increment-offset = 1001
由于二都只有server-id不同和 auto-increment- offset不同auto-increment-offset是用来设定数据库中自动增长的起点的,回为这两能服务器都设定了一次自动增长值2,所以它们的起点必须得不同,这样才能避免两台服务器数据同步时出现主键冲突,配置好重启MySQL读取新的配置文件,另外auto-increment-increment的值应设为整个结构中服务器的总数,本案例用到两台服务器,所以值设为2
2、分别为俩台master创建各种的用户供对方使用
#master1的机器上 mysql> CREATE USER 'master1'@'%' IDENTIFIED BY '123456'; #master2的机器上 mysql> CREATE USER 'master2'@'%' IDENTIFIED BY '123456';
2、分别给用户授予复制权限
#master1的机器上 mysql> GRANT REPLICATION SLAVE ON *.* TO 'master1'@'%' IDENTIFIED BY '123456'; #master2的机器上 mysql> GRANT REPLICATION SLAVE ON *.* TO 'master2'@'%' IDENTIFIED BY '123456';
3、分别重启服务,通过show master status 查看二进制文件名称还有pos位置,为slave配置复制位置
4、分别切换master,注意master_log_file还有master_log_pos
#master1的机器上 mysql> change master to master_host='192.168.137.103',master_user='master2',master_password='123456',master_log_file='mysql-bin.000003',master_log_pos=951; #master2的机器上 mysql> change master to master_host='192.168.137.101',master_user='master1',master_password='123456',master_log_file='mysql-bin.000004',master_log_pos=698;
5、分别利用命令启动slave
mysql> start slave ;
6、测试结果,在master1上创建数据库,master2是否能同步,然后再在master2上创建表写数据,看master1能否同步。
到此配置完成…
相关文章推荐
- MySQL中的integer 数据类型
- MySQL存储过程
- mysql中int、bigint、smallint 和 tinyint的区别与长度
- mysql load data 导出、导入 csv
- source命令执行SQL脚本文件
- MySQL创建用户及权限控制
- MySQL管理数据表
- linux下mysql添加用户
- mysql procedure
- mysql触发器
- MySQL 备份和恢复策略
- mac下安装mysql(转载)
- mysql 修改编码 Linux/Mac/Unix/通用(杜绝修改后无法启动的情况!)
- MySQL数据的导出、导入(mysql内部命令:mysqldump、mysql)
- mysql数据行转列
- Linux下修改MySQL编码的方法
- MySQL Server 日志
- MySQL 安全事宜
- MySQL 备份与恢复