不同服务器上mysql如何实现同步备份(一)_MySql_数据库_程序员俱乐部

中国优秀的程序员网站程序员频道CXYCLUB技术地图
热搜:
更多>>
 
您所在的位置: 程序员俱乐部 > 数据库 > MySql > 不同服务器上mysql如何实现同步备份(一)

不同服务器上mysql如何实现同步备份(一)

 2013/8/10 3:30:57    程序员俱乐部  我要评论(0)
  • 摘要:不同服务器上的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至少分配以下权限grantreplicationslave。3.执行flushprivileges。4.停止MySQL。5.配置my.cnf(my.ini)。服务器A服务器Buser=mysqllog
  • 标签:实现 SQL 服务器 服务 MySQL 同步

不同服务器上的mysql数据库实现同步备份的过程如下:

1.服务器状态:

服务器A:192.168.1.1

服务器B:192.168.1.2

2.创建同步用户:

主机域A:192.168.1.2用户名A:sync_a密码A:aaa

主机域B:192.168.1.1用户名B:sync_b密码B:bbb

至少分配以下权限grantreplicationslave。

3.执行flushprivileges。

4.停止MySQL。

5.配置my.cnf(my.ini)。

服务器A服务器B

    class="dp-xml">
  1. user=mysql 
  2.  
  3. log-bin=mysql-bin  
  4.  
  5. server-id=1 
  6.  
  7. binlog-do-db=test 
  8.  
  9. binlog-ignore-db=mysql 
  10.  
  11. replicate-do-db=test 
  12.  
  13. replicate-ignore-db=mysql 
  14.  
  15. log-slave-updates  
  16.  
  17. slave-skip-errors=all 
  18.  
  19. sync_binlog=1user=mysql  
  20.  
  21. log-bin=mysql-bin  
  22.  
  23. server-id=2 
  24.  
  25. binlog-do-db=test 
  26.  
  27. binlog-ignore-db=mysql 
  28.  
  29. replicate-do-db=test 
  30.  
  31. replicate-ignore-db=mysql 
  32.  
  33. log-slave-updates  
  34.  
  35. slave-skip-errors=all 
  36.  
  37. sync_binlog=1 

注意

server-id必须唯一。

binlog-do-db和replicate-do-db表示需要同步的数据库。

binlog-ignore-db和replicate-ignore-db表示不需要同步的数据库。

请不要加入以下命令,该命令并不会解决uid跳号的问题,恰恰相反以下两行命令才是导致uid跳号的罪魁祸首:

  1. auto_increment_increment=2 
  2.  
  3. auto_increment_offset=1 

6.重新启动MySQL。

7.进入MySQL控制台:

服务器A:

  1. showmasterstatusG  
  2.  
  3. flushtableswithreadlock 

服务器B:

  1. showmasterstatusG  
  2.  
  3. flushtableswithreadlock; 

同时记录下两台服务器的File和Position,此处假设:

A:File:mysql-bin.000001

Position:001

B:File:mysql-bin.000002

Position:002

服务器A:

  1. changemasterto  
  2.  
  3. ->master_host='192.168.1.2',  
  4.  
  5. ->master_user='sync_b',  
  6.  
  7. ->master_password='bbb',  
  8.  
  9. ->master_log_file='mysql-bin.000002',  
  10.  
  11. ->master_log_pos=002

服务器B:

  1. changemasterto  
  2.  
  3. ->master_host='192.168.1.1',  
  4.  
  5. ->master_user='sync_a',  
  6.  
  7. ->master_password='aaa',  
  8.  
  9. ->master_log_file='mysql-bin.000001',  
  10.  
  11. ->master_log_pos=001

此处填写的数据完全相反。

8.执行showprocesslistG查看是否同步成功。

本文就介绍到这里,谢谢大家的支持!

发表评论
用户名: 匿名