环境准备
1、一台MySQL8.0主服务器,一台MySQL8.0从服务器。配置如下:
- Master:主服务器,IP地址为192.168.8.61。
- Slave:从服务器,IP地址为192.168.8.62。
2、开放Master主服务器的3306端口。

主从复制配置
一、Master主服务器的配置。
1、开启Master主服务器的二进制日志。

2、重启Master主服务器,使配置生效。

3、登录Master服务器,创建用户并查看当前状态。
3.1、在Master服务器上为Slave服务器创建用户用于读取binlog。

3.2、在Master服务器上给创建的用户赋予日志复制权限。
- replication slave:允许用户在从机上复制日志。
- replication client:允许用户使用show master status、show slave status等命令查看复制状态。

3.3、使用flush命令刷新用户权限。

3.4、查看Master服务器上的日志状态:File为日志文件名称,Position为日志当前写入位置。

4、若主服务器的已有数据需要同步至从服务器,需要手动导出并使用参数−−source−data记录当前日志位置。

二、Slave从服务器的配置。
1、开启Slave从服务器的二进制日志。

2、重启Slave从服务器,使配置生效。

3、若主服务器当前有数据需要同步至从服务器,需要手动导入。

4、查看二进制日志文件名称与同步位置。
4.1、若有备份数据需要导入从机,可查看备份文件记录的文件名称与同步位置。

4.2、若无备份数据导入从机,可登录主机通过show master命令查看当前日志文件名称与同步位置。

5、登录Slave服务器,设置同步参数,主要参数如下:
- master_host:Master服务器的IP地址。
- master_user:Master服务器登录用户名。
- master_password:Master服务器登录密码。
- master_log_file:二进制日志文件名称。
- master_log_pos:二进制日志同步位置。
5.1、使用change master命令设置同步参数。

5.2、开启日志同步。

5.3、查看Slave服务器状态,IO线程与SQL线程都为yes则表示配置成功。
- Slave_IO_Running:IO线程的运行状态。若有错误,可查看下方Last_IO_Error一行中的错误提示。
- Slave_SQL_Running:SQL线程的运行状态。若有错误,可查看下方Last_SQL_Error一行中的错误提示。

主从复制测试
1、登录Master服务器,插入一条数据。

2、登录Slave服务器查看同步结果。
