本文摘自PHP中文网,作者青灯夜游,侵删。
在Mysql5.7中如何搭建主从复制?下面这篇文章给大家介绍Mysql5.7-主从复制搭建步骤,有需要的朋友可以学习了解一下~一、概述
主从复制可以实现对数据库备份和读写分离:
为了避免服务的不可用以及保障数据的安全可靠性,我们至少需要部署两台或两台以上服务器来存储数据库数据,也就是我们需要将数据复制多份部署在多台不同的服务器上,即使有一台服务器出现故障了,其他服务器依然可以继续提供服务.
MySQL提供了主从复制功能以提高服务的可用性与数据的安全可靠性.
主从复制是指服务器分为主服务器和从服务器,主服务器负责读和写,从服务器只负责读,主从复制也叫 master/slave,master是主,slave是从,但是并没有强制,也就是说从也可以写,主也可以读,只不过一般我们不这么做。
二、主从复制架构
一主多从架构:
多主多从架构:
主从复制原理:
- 当 master 主服务器上的数据发生改变时,则将其改变写入二进制事件日志文件中
- salve 从服务器会在一定时间间隔内对 master 主服务器上的二进制日志进行探测,探测其是否发生过改变,如果探测到 master 主服务器的二进制事件日志发生了改变,则开始一个 I/O Thread 请求 master 二进制事件日志
- 同时 master 主服务器为每个 I/O Thread 启动一个dump Thread,用于向其发送二进制事件日志
- slave 从服务器将接收到的二进制事件日志保存至自己本地的中继日志文件中
- salve 从服务器将启动 SQL Thread 从中继日志中读取二进制日志,在本地重放,使得其数据和主服务器保持一致;
- 最后 I/O Thread 和 SQL Thread 将进入睡眠状态,等待下一次被唤醒
三、一主多从搭建
搭建环境:1. Linux 版本 CentOS release 6.9 (Final)
2. mysql-5.7.26-linux-glibc2.12-x86_64.tar.gz
下载地址
1.解压 mysql-5.7.26-linux-glibc2.12-x86_64.tar.gz
1 2 3 4 |
|
2.创建多实例数据目录
1 2 3 4 5 6 7 |
|
3.数据库初始化
1 2 3 4 5 6 7 |
|
若出现错误执行yum install libaio-devel.x86_64
yum -y install numactl
4.创建各个数据库的配置文件my.cnf
注意:
1.建议在linux下创建文件防止windows 与 linux 编码不一致
2.不同的实例下配置要修改端口号
3.将修改好的my.cnf分别放至3306、3307文件夹内
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 |
|
5.多实例启动
切换到/usr/local/mysql-5.7.24/bin目录下,使用 msyqld_safe 命令指定配置文件并启动MySQL服务:
1 2 3 |
|
6.数据库初始化配置
分别在各个实例内进行配置 如3306:
1 2 3 4 5 6 7 8 |
|
客户端连接测试
7.数据库唯一id配置
相关阅读 >>
mysql5.7在windows8.1下忘记密码的问题解决(图文)
更多相关阅读请进入《mysql5.7》频道 >>

数据库系统概念 第6版
本书主要讲述了数据模型、基于对象的数据库和XML、数据存储和查询、事务管理、体系结构等方面的内容。