dz论坛网站后台设置,网站建设公司如何运营,网站页面怎么做的好看,邢台手机网站建设价格主从复制
主从复制是指将主数据库的DDL和DML操作通过二进制日志传到从库服务器中#xff0c;然后在从库上对这些日志重新执行#xff08;也叫重做#xff09;#xff0c;从而使得从库和主库的数据保持同步。 MySQL支持一台主库同时向多台从库进行复制#xff0c;从库同时…主从复制
主从复制是指将主数据库的DDL和DML操作通过二进制日志传到从库服务器中然后在从库上对这些日志重新执行也叫重做从而使得从库和主库的数据保持同步。 MySQL支持一台主库同时向多台从库进行复制从库同时也可以作为其他从服务器的主库实现链状复制。
MySQL复制的有点主要包含以下三个方面
主库出现问题可以快速切换到从库提供服务。实现读写分离降低主库的访问压力。可以在从库中执行备份以避免备份期间影响主库服务。
原理
MySQL的主从复制原理如下
从上图来看复制分成三步 Master主库在事务提交时会把数据变更记录在二进制日志文件Binlog中。 从库读取主库的二进制日志文件Binlog写入到从库的中继日志RelayLog。 slave重做中继日志中的事件将改变反映它自己的数据。
搭建
服务器准备
主库配置 1.修改配置文件/etc/my.cnf
#mysql服务ID保证整个集群环境中唯一取值范围1232-1默认为1
server-id1
#是否只读,1代表只读0代表读写
read-only0
#忽略的数据指不需要同步的数据库
#binlog-ignore-dbmysql
#指定同步的数据库
#binlog-do-dbdb012.重启MySQL服务器
systemctl restart mysqld3.登录mysql创建远程连接的账号并授予主从复制权限
#创建itcast用户并设置密码该用户可在任意主机连接该MySQL服务
CREATEUSERitcast%IDENTIFIEDWITH mysql_native_passwordBYRoot123456;
#为itcast%用户分配主从复制权限
GRANT REPLICATIONSLAVE ON**TOitCaSt%;4.通过指令查看二进制日志坐标
show master status;字段含义说明
file从哪个日志文件开始推送日志文件position从哪个位置开始推送日志binlog_ignore_db指定不需要同步的数据库
从库配置 1.修改配置文件/etc/my.cnf
#mysql服务ID保证整个集群环境中唯一取值范围1232-1和主库不一样即可
server-id2
#是否只读1代表只读0代表读写
read-only12.重新启动MySQL服务
systemctl restart mysqld3.登录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参数名