mysql主从复制

基本原理

slave会从master读取binlog来进行数据同步

三步骤

QxgIlq.png

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

基本原则

  1. 每个slave只有一个master
  2. 每个slave只能有唯一的服务器ID
  3. 每个master可以有多个salve

最大问题

延时

一主已从常见配置

mysql版本一致且后台以服务运行;
主从都配置在[mysqld]节点下,都是小写。

主机配置文件

# 必须 服务器唯一ID
server-id=1

# 必须 启用二进制日志
# 如:log-bin=D:/Mysql5.5/data/mysqlbin
log-bin=自己的本地路径/mysqlbin

# 可选 启用错误日志
# 如:log-bin=D:/Mysql5.5/data/mysqlerr
log-err=自己的本地路径/mysqlerr

# 可选 根目录
basedir="D:/Mysql5.5/"

# 可选 临时目录
tmpdir="D:/Mysql5.5/"

# 可选 数据目录
datadir="D:/Mysql5.5/data/"

# 设置读写权限(主机应是读写都可)
read-only=0

# 可选 设置不要复制的数据库
binlog-ignore-db=mysql

# 可选 设置需要复制的数据库
binlog-do-db=需要复制的主数据库名字

从机配置文件

# 必须 从服务器唯一ID

# 可选 启用二进制日志

主机授权从机访问

# 授权
GRANT REPLICATION SLAVE ON 数据库名.表名 TO 'username'@'从库IP' IDENTIFIED BY 'password';

# 刷新权限
flush privileges;

# 查询主机状态, 记录下File和Position的值
# 每次配置都需要记录新的File和Position的值。
show master status;

从机设置访问账户

# 设置访问主机的账户、数据起始位置等
CHANGE MASTER TO MASTER_HOST='主机IP', MASTER_USER='username', MASTER_PASSWORD='password', MASTER_LOG_FILE='mysqlbin.具体数字', MASTER_LOG_POS=具体数值;

# 开启服务器复制功能
start slave;

# 查询从机状态。以下两个参数都是Yes说明配置成功
# Slave_IO_Running:Yes
# Slave_SQL_Running:Yes
show slave status\G

停止从机复制服务

stop slave;
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

栋幺栋幺-

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值