中国网站建设中心,盘锦做网站选哪家,卖商标的上哪个平台,海淀区企业网站建设https://www.bilibili.com/video/BV1Kr4y1i7ru/?p161 https://blog.csdn.net/qq_47959003/article/details/126058710 主从复制是指将数据库的DDL和DML操作通过二进制日志传到从库服务器中#xff0c;然后在从库上对这些日志重新执行#xff08;也叫重做#xff09;… https://www.bilibili.com/video/BV1Kr4y1i7ru/?p161 https://blog.csdn.net/qq_47959003/article/details/126058710 主从复制是指将数据库的DDL和DML操作通过二进制日志传到从库服务器中然后在从库上对这些日志重新执行也叫重做从而使得从库和主库的数据保持同步。
MYSQL支持一台主库同时向多台从库进行复制从库同时也可以作为其他从服务器的主库实现链状复制。
优点 主库出现问题可以快速切换到从库提供服务 实现读写分离降低主库的访问压力 可以在从库中执行备份以避免备份期间影响主库服务
原理 1、Master 主库在事务提交时会把数据变更记录在二进制文件Binlog中。 2、从库读取数据库的二进制日志文件Binlog,写入到从库的中继日志Relay log。 3、slave重做中继日志中的事件将改变反映它自己的数据。
搭建
开放指定的3306端口号
firewall-cmd --zonepublic --add-port3306/tcp -permanent
firewall-cmd -reload关闭服务器的防火墙
systemctl stop firewalld
systemctl disable firewalld主库配置 1、修改配置文件/etc/my.cnf
#mysql服务id,保证整个集群环境中唯一取值范围1-2^32-1默认为1
server-id1
#是否只读1代表只读0代表读写
read-only0
#忽略的数据指不需要同步的数据库
#binlog-ignore-dbmysql
#指定同步的数据库
#binlog-do-dbdb012、重复mysql服务:systemctl restart mysqld
3、登录mysql,创建远程连接的账号并授予主从复制权限
#创建itcast用户并设置密码该用户可在任意主机连接该MySQL服务
CREATE USER itcast% IDENTIFIED WITH mysql_native_password BY Root123456;
#为itcast%用户分配主从复制权限
GRANT REPLICATION SLAVE ON *.* TO itcast%;4.通过指令查看二进制日志坐标 show master status; file:从哪个日志文件开始推送日志文件 position从哪个位置开始推送日志 binlog_ignore_db:指定不需要同步的数据库
从库配置 1、修改配置文件/etc/my.cnf
#mysql服务id,保证整个集群环境中唯一取值范围1-2^32-1默认为1
server-id2
#是否只读1代表只读0代表读写
read-only12、重复mysql服务:systemctl restart mysqld
3.登录mysql设置主库配置 CHANGE REPLICATION SOURCE TO SOURCE_HOSTxxx.xxx,SOURCE_USERxxx,SOURCE_PASSWORDxxx,SOURCE_LOG_FILExxx,SOURCE_LOG_POSxxx; 上述是8.0.23中的语法。如果mysql是8.0.23之前的版本执行如下SQL: CHANGE MASTER TO MASTER_HOSTxxx.xxx.xxx.xxx,MASTER_USERxxx,MASTER_PASSWORDxxx,MASTER_LOG_FILExxx,MASTER_LOG_POSxxx;
4、开启同步操作
start replica; #8.0.22之后
start slave; #8.0.22之前5、查看主从同步状态
show replica status\G; #8.0.22之后
show slave status; #8.0.22之前