概述:主从复制是指将主数据库的DDL和DML操作通过二进制传到从库中,然后在从库上对这些日志重新执行(重做)。从而使得从库和主库的数据保持同步。这里是5.6版本,8.0版本做主从注意密码插件的问题即可,在master.my.cnf文件更改使用native插件
mysql支持一台主库同时向多台从库进行复制,从库同时也可以作为其他从服务器的主库,实现链状复制。
优点:
1.主库出现问题,可以切换到从库提供服务。
2.实现读写分离,降低主库的访问压力。
3.可以在从库中执行备份,避免备份期间影响主库服务。
总结:主库数据通过binlog日志将变更同步到从库,从而保证主库和从库数据一致。数据备份,失败迁移,读写分离,降低单库读写压力。
主从过程:
1.master主库在提交事务提交时,会把数据变更记录存在binlog中。
2.从库读取主库的binlog日志,写入到从库的中继日志relay log中。
3.从库再重做中继日志的事件,将改变反应到它自身的数据。
从机线程:
iothread----发送请求连接主库。读binlog,写到relaylog
sqlthread---读取relaylog,将数据变更返回自身数据库并执行。
【一主一从搭建】
服务器规划:
192.168.61.200主
192.168.61.201从
#开放防火墙--生产环境操作
firewall-cmd --zone=public --add-port=3306/tcp -permanent
firewall-cmd-reload
#在本地测试搭建直接关闭防火墙即可。systemctl stop firewalld
#安装mysql5.6
mkdir /usr/local/mysql #存放mysql服务的目录
cd /usr/local/mysql
wget http://repo.mysql.com/mysql-community-release-el7-5.noarch.rpm
rpm -ivh mysql-community-release-el7-5.noarch.rpm
yum install mysql-server #安装
systemctl enable mysqld.service && systemctl restart mysqld.service && systemctl status mysql.service
=================
【主库192.168.61.200工作】
vim /etc/