什么是主从复制?
MySQL主从复制是一个异步得复制过程,底层是基于MySQL数据库自带的二进制日志功能。就是一台或多台MySQL数据库(slave,从库)从另一台MySQL数据库(master,主库)进行日志的复制,然后再解析日志并应用到自身,最终实现从库的数据和主库的数据保持一致。MySQL主从复制是MySQL数据库自带的功能,无需借助第三方工具。
工作流程

复制过程分为三步:
master将改变记录到日志中;
slave将master日志拷贝到自己的中继日志;
slave重做中继日志中的事件,达到数据库的改变;
修改相关配置
实现准备两台虚拟机!!!
修改主库(master)配置
修改配置文件/etc/my.cnf
log-bin=mysql-bin #启动二进制日志
server-id=100 #服务器唯一id

重启mysql服务
systemctl restart mysqld;
登录mysql数据库,设置用户认证
grant replication slave on *.* to '用户名'@'%' identified by '密码'
意思就是创建一个用户,密码是设置的密码,给其授予从表所需要的所有权限。

查看主库状态
show master status;

修改从库(slave)配置
修改配置文件/etc/my.cnf
server-id=101 #服务器唯一id

重启mysql服务
systemctl restart mysqld;
登录MySQL数据库,登录从表用户名密码
change master to master_host='数据库ip',master_user='上面设置的用户名',master_password='上面设置的密码',master_log_file='主库日志名',master_log_pos='主库位置';

start slave启动复制

查看从表状态

这样及成功!!!
注意:
如果你用的两台虚拟机是克隆的来的需要改MySQL的uuid,并重启MySQL服务,否则就会出现Slave_IO_State为空的情况!!