Welcome 微信登录

首页 / 数据库 / MySQL / MySQL双向同步

1.服务器状态
服务器A:192.168.1.1
服务器B:192.168.1.22.创建同步用户
主机域A:192.168.1.2 用户名A:sync_a 密码A:aaa
主机域B:192.168.1.1 用户名B:sync_b 密码B:bbb
至少分配以下权限grant replication slave3.执行flush privileges4.停止MySQL5.配置my.cnf(my.ini)
服务器A服务器B
user = mysql
log-bin = mysql-bin
server-id = 1
binlog-do-db = test
binlog-ignore-db = mysql
replicate-do-db = test
replicate-ignore-db = mysql
log-slave-updates
slave-skip-errors = all
sync_binlog = 1
user = mysql
log-bin = mysql-bin
server-id = 2
binlog-do-db = test
binlog-ignore-db = mysql
replicate-do-db = test
replicate-ignore-db = mysql
log-slave-updates
slave-skip-errors = all
sync_binlog = 1
server-id必须唯一
binlog-do-db和replicate-do-db表示需要同步的数据库
binlog-ignore-db和replicate-ignore-db表示不需要同步的数据库
不要加入以下命令,该命令并不会解决uid跳号的问题,恰恰相反以下两行命令才是导致uid跳号的罪魁祸首
auto_increment_increment = 2
auto_increment_offset = 16.重新启动MySQL7.进入MySQL控制台服务器A:
show master status G
flush tables with read lock;
服务器B:
show master status G
flush tables with read lock;同时记录下两台服务器的File和Position,此处假设:A: File: mysql-bin.000001
Position: 001
B: File: mysql-bin.000002
Position: 002服务器A:
change master to
    -> master_host="192.168.1.2",
    -> master_user="sync_b",
    -> master_password="bbb",
    -> master_log_file="mysql-bin.000002",
    -> master_log_pos=002;
服务器B:
change master to
    -> master_host="192.168.1.1",
    -> master_user="sync_a",
    -> master_password="aaa",
    -> master_log_file="mysql-bin.000001",
    -> master_log_pos=001;此处填写的数据完全相反8.执行show processlist G查看是否同步成功通过Oracle函数实现.NET String.Format函数的简单版MySQL实现远程登录相关资讯      MySQL教程 
  • 30分钟带你快速入门MySQL教程  (02月03日)
  • MySQL教程:关于I/O内存方面的一些  (01月24日)
  • CentOS上开启MySQL远程访问权限  (01/29/2013 10:58:40)
  • MySQL教程:关于checkpoint机制  (01月24日)
  • MySQL::Sandbox  (04/14/2013 08:03:38)
  • 生产环境MySQL 5.5.x单机多实例配  (11/02/2012 21:02:36)
本文评论 查看全部评论 (0)
表情: 姓名: 字数