MySQL AB复制

MySQL AB复制

  1. 简介
    MySQL的AB复制也叫主从复制,是主服务器(master)单向的向从属服务器(slave)复制,它属于异步复制。

  2. AB复制的机理
    首先我们先明确一点,在MySQL数据库里添加或者删除等改变了数据的时候。MySQL会在它的 /data 文件夹下会生成一个 mysql_bin.xxxxxx 的文件,这里面面保存的数据是告诉你数据库更新了什么操作。
    所以slave通过 mysql_mysqlmysql_IO 进程来监控 master的改变,并将master最新改变的mysql_bin.xxxxxx文件复制到slave之下,从而达到复制。

  3. 实现步骤
    前提:slave主机上的mysql版本必须比master主机上的版本要高,至少要相同
    确保实验用的mysql中的一个库数据要相同。

    rhel 6.5
    master : 172.25.254.34
    slave : 172.25.254.38

    1)master 端的/etc/my.cnf文件的修改,二进制同步数据库名
    binlog_do_bd=test #二进制需要同步的数据库名
    binlog_ignore_db=mysql #禁止mysql库的同步,避免一些不必要的问题
    server_id=1 #mysql #mysql的server_id 必须是1~32的正整数
    bin_log=mysql_bin #启动二进制文件系统

    2)master 下/etc/my.cnf文件的修改二进制同步的数据库名。
    mysql> grant all on *.* to test@172.25.254.38 identified by 'westos';
    mysql> flush privileges;
    3)slave端 /etc/.mycnf文件的修改,对master主机信息的确认以及授权用户的定义。
    server_id =2
    master_host=172.25.254.34
    master_user=test
    master_password=westos
    master_port=3306
    master_connect_retry=60 #断点重新连接时间
    replicate_ignore_db=mysql
    replicate_do_db=test
    4 )master 查看Binlog_DO_DB的同步数据库的file,以及最新修改内容的mysql_bin.xxxxxx文件和position号。

    mysql> show master status;
    

    5)slave端输入同步主机信息、同步用户的用户名及密码、master的mysql_bin.xxxxxx文件和position号。

    mysql> change master to master_host='172.25.254.34',master_user='test',
    

master_password=‘westos’,master_log_file=‘mysql_bin.xxxxxx’,master_log_pos=‘xx’;

mysql>slave start;
```
最后`mysql>show slave status\G;`
查看到
slave_IO_Running:Yes
slave_SQL_Running:Yes
说明从库的I/O,slave_SQL线程都正确开启,说明数据库同步了。
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值