目录
0 课程视频
1 概述
1.1原理 -> 传二进制日志到 从库 -> 执行
1.2 作用
1.2.1 主库崩 从库上
1.2.2 读写分离
1.2.3 从库备份 -> 备份完 再用 二进制日志同步
2 搭建
2.1 防火墙 端口号开启
2.2 主库设置
2.2.1 修改配置文件 -.> /etc/my.cnf
2.2.2 主库权限设置 -> 主库可以被从库复制
2.2.3 查看二进制日志坐标 -> show master status; ->从库要用文件名 以及position
2.3 从库设置 -> 这里是主库的position当前位置开始同步
2.2.1 修改配置文件 -.> /etc/my.cnf
2.2.2 从库权限设置 -> source_log_pos = 主库中查出来的position
2.2.3 启动主从复制
2.2.4 查看主从复制状态
2.4 其他主从复制 ->全量同步
2.4.1 主库导出sql
2.4.2 从库导入sql执行初始化
2.4.3 从库从当前位置主从同步
3 测试
0 课程视频
https://www.bilibili.com/video/BV1Kr4y1i7ru?p=158&spm_id_from=pageDriver&vd_source=ff8b7f852278821525f11666b36f180a
1 概述
1.1原理 -> 传二进制日志到 从库 -> 执行
1.2 作用
1.2.1 主库崩 从库上
1.2.2 读写分离
1.2.3 从库备份 -> 备份完 再用 二进制日志同步
2 搭建
2.1 防火墙 端口号开启
2.2 主库设置
2.2.1 修改配置文件 -.> /etc/my.cnf
vim 路径
server-id = 1 #
read-only = 0 # 0读写 1只读
#binlog-do-db = 数据库名 # 指定同步数据库名
systemctl restart mysql
2.2.2 主库权限设置 -> 主库可以被从库复制
--创建账号
create user '账号名root'@'%' identified with mysql_native_password by '密码root' ;
--设置权限
grant replication slave on *.* to '账号名及对应的远程连接权限 root@'%'';
2.2.3 查看二进制日志坐标 -> show master status; ->从库要用文件名 以及position
2.3 从库设置 -> 这里是主库的position当前位置开始同步
2.2.1 修改配置文件 -.> /etc/my.cnf
vim 路径
server-id = 2 # 只要不和主库一样就可以
read-only = 1 # 0读写 1只读 -> 普通用户只读
super-read-only = 1 ; # 超级管理员也只只读
systemctl restart mysql
2.2.2 从库权限设置 -> source_log_pos = 主库中查出来的position
--修改从库数据源
change replication source to source_host = '主库ip' , source_user='主库账号名root' ,source_password='密码',source_log_file='二进制日志路径',source_log_pos=从二进制文件什么位置开始读取;
-- 8.0.23版本之前的版本
change master to master_host= '主库ip' ,master_user='主库账号名root' , master_password= '密码',master_log_file ='二进制日志路径 , master_log_pos=从二进制文件什么位置开始读取;
2.2.3 启动主从复制
start replica; # 8.0.22 之后
start slave ; # 8.0.22 之前
2.2.4 查看主从复制状态
show replica status ; # 之后
show slave status; # 之前