ICode9

精准搜索请尝试: 精确搜索
首页 > 数据库> 文章详细

MySQL高级之主从复制

2021-12-25 19:02:35  阅读:154  来源: 互联网

标签:主从复制 slave log 高级 复制 master MySQL 日志


MySQL高级之主从复制

一、主从复制

一、复制的基本原理

1 基本原理)slave 会从 master 读取 bin_log 来进行数据同步。
2 原理图)
在这里插入图片描述
3 步骤)

stepimplement
第一步master 将改变记录到 binary log 中,称其记录过程为二进制日志事件(binary log events)。
第二步slave 将 master中的 binary log 拷贝到它的中继日志中(relay log)。
第三步slave 做中继日志中的事件,即将改变应用到自身数据库中,以异步串行化方式进行。

二、复制的基本原则

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

三、复制的问题

延时问题。

四、一主一从常见配置

前提条件)
1)MySQL版本一致且后台以服务运行。
2)主从都配置在[mysqld]节点下开始配置,都是小写。
配置)
1)配置
A)master的my.conf配置文件,

配置含义是否必须
server-id = 1主服务器唯一ID
log-bin=本地路径/data/mysqlbin启动二进制日志
log-err = 本地路径/data/mysqlerr启用错误日志
base-dir = 本地路径根目录
tmpdir = 本地路径临时目录
data-dir = 本地路径/Data/数据目录
ready-only = 0主机,读写都可以
binlog-ignore-db = mysql设置不要复制的数据库
binlog-do-db=需要复制的数据库名设置需要复制的数据库

slave 的my.conf 配置文件,

配置含义是否必须
server-id = 2从服务器唯一ID
log-bin = mysql-bin启动二进制日志文件

注:
1)配置完毕后需重启服务。
主从机都关闭防火墙)service iptables stop
主机建立账户并授权slave)

grant replication slave on *.* to 'zhangsan'@'从机数据库IP' identified by '123456';
flush privileges;
# 查询master状态,记录下日志File是那个和Position的值即从那个位置开始复制。
show master status;

从机配置要复制的主机)

change master to master_host = '主机IP',master_user = 'zhangsan',master_password = '123456',master_log_file = 'File名字',master_log_pos = Position数字;
# 启动服务器复制功能
start slave;
# 查看是否配置成功,slave_IO_running和slave_SQL_running都是YES即成功。
show slave status\G

实验)主机建库database -> 主机use database -> 建表tableName -> 插入数据 -> 从机use database -> 从机select * from tableName -> stop slave(停止主从复制功能)
注:每次主从复制都需要重新查File和Position(show master status;

参考文献

[1]MySQL 高级 尚硅谷周阳

标签:主从复制,slave,log,高级,复制,master,MySQL,日志
来源: https://blog.csdn.net/qq_43164662/article/details/122041762

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有