mysql主从复制

一、 主从复制原理

在这里插入图片描述

1.master 将改变记录到二进制日志(binary log)。 这些记录过程叫做二进制日志事件, binary log events;
2.slave 将 master 的 binary log events 拷贝到它的中继日志(relay log);
3.slave 重做中继日志中的事件, 将改变应用到自己的数据库中。 MySQL 复制是异步的且串行化的

二、主从配置

1.mysql 版本一致且后台以服务运行

2.主从都配置在[mysqld]结点下, 都是小写
主机修改 my.cnf配置文件

[mysqld]
##主机配置
##主服务器唯一 ID
server-id=1
##启用二进制日志
log-bin=mysql-bin
# 设置不要复制的数据库(可设置多个)
binlog-ignore-db=mysql
binlog-ignore-db=information_schema
#设置需要复制的数据库
binlog-do-db=需要复制的主数据库名字
#设置logbin格式
binlog_format=STATEMENT

binlog_format=STATEMENT(默认)
binlog_format=ROW
binlog_format=MIXED

从机配置文件修改 my.cnf 的[mysqld]栏位下

##从机服务 id
##注意 my.cnf 中有 server-id = 1
server-id = 2
##启用二进制日志
log-bin=mysql-slave-bin
#启用中继日志
relay-log=mysql-relay

3.因修改过配置文件, 请主机+从机都重启后台 mysql 服务

4.主机从机都配置防火墙

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

#创建用户, 并授权 ip可以用%代替
GRANT REPLICATION SLAVE ON *.* TO '备份账号'@'从机器数据库 IP' IDENTIFIED BY '123456';
flush privileges;

6.查询 master 的状态, 并记录下 File 和 Position 的值

#查询 master 的状态
show master status;

7.从机上配置需要复制的主机

#查询 master 的状态
CHANGE MASTER TO MASTER_HOST='主机 IP',MASTER_USER='创建用户名',MASTER_PASSWORD='创建的密码',MASTER_LOG_FILE='File 名字',MASTER_LOG_POS=<Position>;

8.启动从服务器复制功能

start slave;
show slave status\G

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

Slave_IO_Running: Yes
Slave_SQL_Running: Yes

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

10.停止从服务复制功能

stop slave;

11.重新配置

stop slave;
reset master;
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值