不同服务器上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

 
 
 
  1. user=mysql
  2. log-bin=mysql-bin
  3. server-id=1
  4. binlog-do-db=test
  5. binlog-ignore-db=mysql
  6. replicate-do-db=test
  7. replicate-ignore-db=mysql
  8. log-slave-updates
  9. slave-skip-errors=all
  10. sync_binlog=1user=mysql
  11. log-bin=mysql-bin
  12. server-id=2
  13. binlog-do-db=test
  14. binlog-ignore-db=mysql
  15. replicate-do-db=test
  16. replicate-ignore-db=mysql
  17. log-slave-updates
  18. slave-skip-errors=all
  19. 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. auto_increment_offset=1

6.重新启动MySQL。

7.进入MySQL控制台:

服务器A:

 
 
 
  1. showmasterstatusG
  2. flushtableswithreadlock

服务器B:

 
 
 
  1. showmasterstatusG
  2. flushtableswithreadlock;

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

A:File:mysql-bin.000001

Position:001

B:File:mysql-bin.000002

Position:002

服务器A:

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

服务器B:

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

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

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

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

网站题目:不同服务器上mysql如何实现同步备份(一)
文章位置:http://www.shufengxianlan.com/qtweb/news45/317145.html

网站建设、网络推广公司-创新互联,是专注品牌与效果的网站制作,网络营销seo公司;服务项目有等

广告

声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联