1、前提条件:
至少两个MySQL实例,部署在同一台设备或者独立两台都可以
都开启binlog日志,用于主从复制使用
server_id不同,每个实例单独配置一个server_id用于区分不同节点
uuid不同,默认放在数据目录下,存在auto.cnf文件中,启动时自动加载
2、确认启动实例无误后,进入其中一个实例(作为主库),创建用于复制的用户
grant replication slave,replication client on *.* to repl@'%' identified by 'repl';
刷新一下授权:
flush privileges;
查询一下复制用户是否存在
select user,host from mysql.user;

3、开始配置主从(在另外一个实例中执行,也就是作为从库的)
CHANGE MASTER TO
MASTER_HOST='127.0.0.1',
MASTER_USER='repl',
MASTER_PASSWORD='repl',
MASTER_PORT=3306,
MASTER_LOG_FILE='mysqlbin.000001',
MASTER_LOG_POS=0,
MASTER_CONNECT_RETRY=10;

参数解释:
CHANGE MASTER TO 要开始搭建主从
MASTER_HOST='127.0.0.1', 主库的ip地址
MASTER_USER='repl', 用于连接主库的用户
MASTER_PASSWORD='repl', 用于连接主库的用户对应的密码
MASTER_PORT=3306, 主库的端口
MASTER_LOG_FILE='mysqlbin.000001', 从主库的哪个binlog开始复制
MASTER_LOG_POS=0, 主库的binlog位置点,用于从库从什么位置开始复制主库信息
MASTER_CONNECT_RETRY=10; 主从尝试连接时间
4、开启主从(在从库执行)
start slave;
5、查看主从状态(在从库执行)
show slave status \G

注意上图出现的两个YES,表示主从开始复制。
6、在主库上执行一个插入语句

查询一下:

7、切到从库进行查询

可以看到主库插入的数据已经复制到了从库,说明主从复制搭建成功




