主从复制
主从复制架构和原理
-
读写分离
-
复制:每个节点都有相同的数据集,向外扩展,基于二进制日志的单向复制
主从复制原理
1主节点负责用户的写操作,用户发起写操作后,会修改数据库
2.数据库修改后,会更新主节点上的二进制日志
3.主服务器会产生一个 dump线程, 一边读取二进制日志一边将二进制日志通过 网络传给从服务器
4.从服务器会开启io线程,接收主服务器的二进制日志
5 会写入中继日志,这时只是生成了一个文件,并没有同步
6.从服务器再开启 sql线程将 中继日志中 操作写入数据库完成更新
主从复制实战
#主服务器
vim /etc/my.cnf
[mysqld]
server-id=1
log-bin=/data/mysql/mysql-bin
mkdir /data/mysql -p
chown mysql.mysql /data -R
systemctl restart mysqld
mysql 登录数据库 新建同步用户
grant replication slave on *.* to test@'%' identified by 'Admin@123',
show master status; #查看同步文件和 同步的位置
#从服务器
vim /etc/my.cnf
[mysqld]
server-id=2 #要和主不一样
log-bin=/data/mysql/mysql-bin
mkdir /data/mysql