MySQL数据库主主复制-阿里云开发者社区

开发者社区> 技术小牛人> 正文

MySQL数据库主主复制

简介:
+关注继续查看

结合上篇文章‘MySQL数据库主从复制’,本文在此基础上进行MySQL的主主复制


所谓双主复制,即双方互为对方的主从,每台主设备既要配置二进制日志也要配置中继日志;

二进制日志是记录数据库实时操作的,出现故障的话能够根据二进制日志进行重现操作,通常结合全量备份来使用;

中继日志是从服务器从主服务器的二进制日志读取的信息,此读取操作由从的IO线程完成,然后由从的SQL线程操作中继日志的内容;


主服务器(原来的主服务器)

1
2
3
4
5
6
7
8
9
10
vim /etc/my.cnf.d/server.cnf 
[server]
  skip_name_resolve=ON
  innodb_file_per_table=ON
  server_id = 1
  log_bin = master-log
  relay_log=relay-log        #作为对方的从节点,此处需要配置中继日志
  auto_increment_offset=1    #定义此节点使用奇数id
  auto_increment_increment=2 #步长为2
  #注意,本机既是主又是从,即可读可写,所以不能像配置从一样配置只读功能

开启mariadb.service服务

1
2
3
4
5
6
CHANGE MASTER TO MASTER_HOST='192.168.1.106',MASTER_USER='repluser',MASTER_PASSWORD='centos',MASTER_LOG_FILE='master-log.000001',MASTER_LOG_POS=505;
START SLAVE IO_THREAD,SQL_THREAD; 
SHOW  SLAVE STATUS\G;  
#主服务器的主功能已经在上篇文章配置好了,这里只需配置为从即可          
#MASTER_LOG_FILE是要复制的主节点的二进制日志   
#MASTER_LOG_POS是要从主节点二进制日志的哪个位置开始复制,上篇文章未作说明,这里补上

另一台主服务器(原从服务器)

1
2
3
4
5
6
7
8
9
vim /etc/my.cnf.d/server.cnf  
[server] 
  skip_name_resolve = ON 
  innodb_file_per_table = ON  
  server_id = 2  
  relay_log = relay-log 
  log_bin=master-log 
  auto_increment_offset=2 
  auto_increment_increment=2

开启mariadb.service服务

1
2
3
GRANT REPLICATION SLAVE,REPLICATION CLIENT ON *.* TO 'repluser'@'192.168.1.%' IDENTIFIED BY 'centos';
FLUSH PRIVILEGES;
SHOW MASTER STATUS;

测试:

测试双主是否生效,即双方都创建一些库、表或者插入一些字段,然后在对方数据库中检查是否产生新的内容,具体操作不再赘述


双主复制完成



本文转自  a_pan  51CTO博客,原文链接:http://blog.51cto.com/panpangao/1981426

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
快速复制数据库
1.先创建数据库   2.复制数据库 mysqldump db1 -u root -padmin --add-drop-table | mysql  newdb1 -u root -padmin456   稍微一会就行,大的数据也可以这样导   3.
756 0
oracle、mysql、sybase和sqlserver复制表结构和数据
Sql Server(sybase): 1.复制表结构: 新建表student2,并且结构同表syn_xj_student一致。Sql语句如下: select * into syn_xj_student2 from syn_xj_student where 1=2 2.复制表数据,并...
664 0
阿里云服务器端口号设置
阿里云服务器初级使用者可能面临的问题之一. 使用tomcat或者其他服务器软件设置端口号后,比如 一些不是默认的, mysql的 3306, mssql的1433,有时候打不开网页, 原因是没有在ecs安全组去设置这个端口号. 解决: 点击ecs下网络和安全下的安全组 在弹出的安全组中,如果没有就新建安全组,然后点击配置规则 最后如上图点击添加...或快速创建.   have fun!  将编程看作是一门艺术,而不单单是个技术。
4495 0
阿里云虚拟主机数据库主机怎么看
阿里云虚拟主机数据库主机怎么看,上传wordpress后面,需要数据库主机,在哪里找到 云虚拟主机使用教程完整版!! 最近发现论坛很多新手不会用虚拟主机,特意抽空写了个教程!!首先开通主机是要正确选择你的网站语言:1:操作系统:Windows(这个系统支持的有ASP、.
5257 0
mysql数据库‘复制’的办法
mysql数据库‘复制’的办法 2006-01-17 10:36:00 标签:Mysql SQL 数据库 休闲 职场 >mysqldump wap -u root -ppassword --add-drop-table | mysql test -u root -ppassword这样就用本地的wap数据库,复制到了test数据库。
813 0
如何紧急恢复SQL Server主数据库
http://database.51cto.com/art/200701/37886.htm
598 0
3370
文章
0
问答
文章排行榜
最热
最新
相关电子书
更多
文娱运维技术
立即下载
《SaaS模式云原生数据仓库应用场景实践》
立即下载
《看见新力量:二》电子书
立即下载