MySQL主从复制

主从复制

原理

slave会从master读取binlog来进行数据同步。主要有以下三个步骤:

①master将改变记录到二进制日志(binary log),这些记录过程叫做二进制日志事件(binary log events)。

②slave将master的binary log events拷贝到中继日志(relay log)。

③slave重做中继日志中的事件,将改变应用到自己的数据库中。MySQL的复制是异步且串行化的。

规则:

①每个slave只能有一个master。(一对一)

②每个slave只能有一个唯一的服务器ID。

③每个master可以有多个slave。(一对多)

在主从复制过程中,从原理可以看出必然存在延时。

实现步骤:

  1. /etc/mysql/my.cnf主机配置中增加

#主服务器唯一ID

server-id=1

#启用二进制日志

log-bin=mysql-bin

#设置不要复制的数据库(可设置多个)

binlog-ignore-db=mysql

binlog-ignore-db=information_schema

#设置需要复制的数据库

binlog-do-db=需要复制的主数据库名字

#设置logbin格式

binlog_format=STATEMENT

2在从服务/etc/mysql/my.cnf新增

#从服务器唯一ID

server-id=2

#启用中继日志

relay-log=mysql-relay

3.重启mysql 主机以及从机服务

4.主机从机都关闭防火墙

5. 在主机上建立帐户并授权     slave

#在主机MySQL里执行授权命令

GRANT REPLICATION SLAVE ON *.* TO 'slave'@'%' IDENTIFIED BY 'xxxxxx';

#查询master的状态

show master status;

#记录下File和Position的值

#执行完此步骤后不要再操作主服务器MySQL,防止主服务器状态值变化

6 在从机上配置需要复制的主机

#复制主机的命令

CHANGE MASTER TO MASTER_HOST='主机的IP地址',

MASTER_USER='slave',

MASTER_PASSWORD='123123',

MASTER_LOG_FILE='mysql-bin.具体数字',MASTER_LOG_POS=具体值;

#启动从服务器复制功能

start slave;

#查看从服务器状态

show slave status;

#下面两个参数都是Yes,则说明主从配置成功!

# Slave_IO_Running: Yes

# Slave_SQL_Running: Yes

7.主机新建库、新建表、insert记录,从机复制

8.如何停止从服务复制功能

stop slave;

9.如何重新配置主从

stop slave;

reset master;

注意事项

  • 一定要在同一个局域网中
  • 最好把防火墙全部关闭掉
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值