mysql replication 协议_MySQL Replication 配置

mysql replication 主要通过复制二进制日志,在slave上执行master一样的来SQL来保持master 和slave的数据一致。 好处不必多说, 第一个 master-slave的结构首先能实现读写分离, 对于缓解数据库Server的鸭梨会起到一定好处, 另外当master宕机的话, 可以马

mysql replication 主要通过复制二进制日志,在slave上执行master一样的来SQL来保持master 和slave的数据一致。

好处不必多说, 第一个 master-slave的结构首先能实现读写分离, 对于缓解数据库Server的鸭梨会起到一定好处, 另外当master宕机的话, 可以马上切到slave上边,可以提高系统的可用性。

1. mysql 的主从复制是通过bin log来实现的, 首先master要开启二进制日志

server-id = 1

log_bin = /var/log/mysql/mysql-bin.log

binlog_ignore_db = mysql

2. master 上要开一个专供复制的账号

grant file,select,replication slave on *.* to slave@'%' identified by '123456'; --我这里是有问题的,开了权限给所有的库 所有的机器,而且还设置了弱密码,不过做为测试机玩玩也未必不可

3. slave 机器 设置一个 server-id

server-id = 2

4. 设置复制信息

这里要先看一下当前 master 的binlog 记到哪里了, 从哪个文件开始的哪一个位置, 然后设置slave从这个地方开始复制。 所以这个时候要保证 master 和 slave的数据是一样的,这样才能保证master和slave数据的一致性。

先在master端执行 : show master status;

mysql> show master status;

+------------------+----------+--------------+------------------+

| File | Position | Binlog_Do_DB | Binlog_Ignore_DB |

+------------------+----------+--------------+------------------+

| mysql-bin.000015 | 26560211 | | mysql |

+------------------+----------+--------------+------------------+

1 row in set (0.00 sec)

得到当前的二进制日志文件和当前的位置

在 slave 端执行:

change master to master_host='192.168.57.64',

master_user='slave',

master_password='123456',

master_log_file='mysql-bin.000015',

master_log_pos=26560211;

最后 slave端 start slave;

用 show slave status\G; 查看参数 Slave_IO_Running 和 Slave_SQL_Running, 如果两个参数都是 yes , 说明搞定。

声明: 本文采用 CC BY-NC-SA 3.0 协议进行授权

转载请注明来源:小景的博客

本文链接地址:http://www.phpv5.com/blog/archives/430/

本文原创发布php中文网,转载请注明出处,感谢您的尊重!

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值