MySQL配置主从复制

参考自:《高性能MySQL》
主备的最新叫法:primary and replica

基本场景:对于新安装的主库和备库

1.创建复制账号
grant replication slave, replication client on *.* to '229_slave'@'10.10.3.229' identified by 'password';

replication slave 复制权限
replication client 监控和管理复制的账号 的权限


两个权限都赋予上,方便后续互为主备的配置。

2.配置主库和备库

在主库的my.cnf文件中,修改为

log_bin	=mysql-bin
server_id	=226

配置二进制日志后,需要重启mysql,使用show master status
来检查是否成功开启。


备库上也要做类似的修改:

log_bin = mysql-bin
server_id=229
relay_log=/var/lib/mysql/mysql-relay-bin
log_slave_updates=1
read_only=1

log_slave_updates=1 允许备库将其重放的时间也记录到本上的二进制日志中


3.启动复制

告诉备库如何连接到主库,并重放其二进制日志。
不在my.cnf中配置,更加灵活。

change master to master_host='10.10.3.226' ,
master_user='229_slave',
master_password='root',
master_log_file='mysql-bin.000001',
master_log_pos=0;//根据master中的进行设置

运行 show master status 检查复制是否正常执行
启动:

start slave
show processlist\G 

可以看到正在连接的进程。


在第三步的过程中若出现问题的,解决方法:

  1. mysql> reset slave; # 重點就是這行
  2. mysql> CHANGE MASTER TO MASTER_LOG_FILE=‘mysql-bin.000001’, MASTER_LOG_POS=107; # 請依照自行環境設定
  3. mysql> start slave; # 就正常了.
  4. 註: 重新設置 slave, MASTER_LOG_FILE 和 MASTER_LOG_POS 會被清空, 所以需要重新設置.

为一个已有数据的数据库做从复制

为一个已有数据的数据库做从复制,必须先对其中的数据进行复制。
可以使用sqldump 进行全库复制。注意不要复制mysql啊啊啊啊啊,导致自己把用户名密码等一起覆盖了原来的库。。。。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值