MySQL高级之主从复制
2021/12/26 2:09:15
本文主要是介绍MySQL高级之主从复制,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
MySQL高级之主从复制
- 一、主从复制
- 一、复制的基本原理
- 二、复制的基本原则
- 三、复制的问题
- 四、一主一从常见配置
- 参考文献
一、主从复制
一、复制的基本原理
1 基本原理)slave 会从 master 读取 bin_log 来进行数据同步。
2 原理图)
3 步骤)
step | implement |
---|---|
第一步 | 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 高级 尚硅谷周阳
这篇关于MySQL高级之主从复制的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-11-16MySQL资料:新手入门教程
- 2024-11-16MySQL资料:新手入门教程
- 2024-11-15MySQL教程:初学者必备的MySQL数据库入门指南
- 2024-11-15MySQL教程:初学者必看的MySQL入门指南
- 2024-11-04部署MySQL集群项目实战:新手入门教程
- 2024-11-04如何部署MySQL集群资料:新手入门指南
- 2024-11-02MySQL集群项目实战:新手入门指南
- 2024-11-02初学者指南:部署MySQL集群资料
- 2024-11-01部署MySQL集群教程:新手入门指南
- 2024-11-01如何部署MySQL集群:新手入门教程