立即学习:https://edu.youkuaiyun.com/course/play/25283/297163?utm_source=blogtoedu
实现主从同步(主从复制):
同步的核心:二进制日志
1. master 将改变的数 记录在本地的 二进制日志中(binary log);该过程称之为:二进制日志事件
2.slave 将master的binary log 拷贝到自己的relay log (中继日志文件)中
3.中继日志事件,将数据读取到自己数据库之中
MySQL主从复制 是异步的,串行化的,有延迟
master:slave =1:n
配置:
windows(mysql:mysql.ini)
linux (mysql:my.cnf)
配置前,为了无误,先将权限(远程访问)、防火墙等处理;
关闭windows/linux 防火墙
mysql 允许远程连接(windows /linux)
Grant all privileges on *.* to 'root'@'%' identified by 'root' with grant option;
flush privileges;
server-id=1 唯一标识;
二进制日志文件
log-bin="data 目录 下/mysql-bin"
错误记录文件
log-error="data 目录 下/mysql-error"
主从同步时忽略的数据库
binlog-ignore=mysql(忽略的数据库)
指定主从同步时,同步哪些数据库
binlog-do-db=test(只同步这一个
Windows 中的数据库 授权哪台计算机中的数据库是自己的从数据库;
主库中执行
grant repliacation slave,reload,super on *.* to 'root'@'192.168.%.%' identified by 'root';
flush privileges;
从库执行:
show slave status \G
如果不都是yes ,需要看下方的Last_Io_Error日志,
检查 server-id:show variables like 'server_id'
set global server-id=2;通过全局变量修改server-id;