Centos7下Mysql5.7的主从复制(读写分离)搭建

    技术2022-07-10  80

    为什么Mysql要做主从复制(读写分离)

    因为对于数据库来讲,如果读和写都在同一个数据库上进行,那么数据库的负载是非常大的,会导致数据库的读写非常慢,影响用户体验。另一反面,如果主数据库宕机,可以快速切换到从数据库上,避免丢失数据。

    搭建主从

    本帖都是在Centos7的系统下进行的 主库ip:10.3.212.201 从库ip:10.3.212.202 环境准备:关闭防火墙、关闭selinux

    systemctl stop firewalld setenforce 0 首先安装好两台mysql5.7(参考我的上一篇帖子)确认停掉mysql服务修改mysql配置文件,打开bin-log日志:vim /etc/my.cnf 添加下边两行在mysqld下: server-id=2 ##这个主库要和从库区别开 log-bin=mysql-bin

    重启mysql服务

    登录主库,创建从库登录用户(具有复制权限):grant replication slave on *.* to 'myslave'@'10.3.212.202' identified by 'redhat';

    查看主库bin-log节点:show master status;

    登录从库,进行配置:change master to master_host='10.3.212.201',master_user='myslave',master_password='redhat',master_log_file='mysql-bin.000001',master_log_pos=451; 这里的警告是因为使用了明文密码

    开启主从同步:start slave;

    查看主从搭建状态:show slave status\G \G是数据库的行展示 图中标记的两个线程都为yes状态,则表明主从复制搭建成功 第一个是从库去请求同步主库的线程 第二个是从库本身执行的sql线程

    主库创建一个测试库,然后从库验证是否进行了数据的复制: 主库: 从库:

    停止主从

    停掉slave:stop slave; 重置slave:reset slave;

    Processed: 0.036, SQL: 8