1.介绍

2.环境准备
准备两台服务器或者虚拟机并安装好mysql启动,或者用在同一个服务器用docker启动两个mysql服务,设置不同的端口
笔者是用两台云服务器来搭建
3.配置文件
3.1 配置-主库Master
进入主库服务器
第一步:修改/etc/my.cnf文件
vim /etc/my.cnf
[mysqld]
log-bin=mysql-bin #[必须]启用二进制日志
server-id=100 #[必须]服务器唯一ID

添加画线的两行
保存退出
第二步: 重启mysql服务
systemctl restart mysqld
第三步:登录mysql,执行SQL
grant replication slave on *.* to 'xiaoming'@'%' identified by 'Root@123456';
上面SQL的作用是创建一个用户xiaoming,密码为Root@123456,并且给xiaoming用户授予replication slave权限,常用于建立复制时所需要用到的用户权限,也就是说slave必须被master授权具有该权限的用户,才能通过该用户复制
第四步:登录mysql,执行下面SQL,记录结果中File和Position的值
show master status;

注意:上面的SQL作用是查看master的状态,执行完此SQL后不要再执行任何操作。可以新开一个窗口去从库所在服务器
3.2 配置-从库Slave
进入从库服务器
第一步:修改/etc/my.cnf文件
vim /etc/my.cnf
[mysqld]
server-id=101 #[必须]服务器唯一ID

第二步: 重启mysql服务
systemctl restart mysqld
第三步:登录mysql数据库,执行下面sql
change master to
master_host='主库ip',master_user='xiaoming',
master_port=3306,master_password='Root@123456',
master_log_file='mysql-bin.000001',master_log_pos=441;
主库ip写你的主库ip
master_log_file='mysql-bin.000001',master_log_pos=441;
这两个的值来源上面配置主库第四步
如果上SQL执行报错,就执行stop slave,再执行上面SQL
第四步:执行start slave
然后执行show slave status/G;
到此主从复制配置完成
可以连接主库的数据库,然后建立数据库,刷新从库就会发现从库也有了该数据库,建表和插入数据也可以同样在从库显示
版权声明:本文为m0_37959155原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。