1、准备两台机器
两台linux虚拟机,安装好mysql数据库。主从复制原理:从机通过读取主机的binlog日志写入自身的中继日志来实现同步。
ps:不建议安装好一台mysql后,复制到另一台,会出现mysql的server-uuid=06905c59-2d3b-11ea-8f21-000c29942721一致导致主从复制失败。
vim data/auto.cnf
2、主机配置
my.cnf配置
port=3306
default-time_zone='+8:00'
sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES
basedir=/usr/local/mysql-5.6.46
datadir=/usr/local/mysql-5.6.46/data
log-error=/usr/local/mysql-5.6.46/log/error.log
server-id=1
#binlog日志格式,mysql默认采用statement,建议使用mixed
binlog_format=statement
##binlog日志文件
log-bin=/usr/local/mysql-5.6.46/binlog/mysql-bin.log
#设置不要复制的数据库(可设置多个)
binlog-ignore-db=STATEMENT
binlog-ignore-db=information_schema
#设置需要复制的数据库
#binlog-do-db=
##binlog过期清理时间
expire_logs_days=7
##binlog每个日志文件大小
max_binlog_size=100m
##binlog缓存大小
binlog_cache_size=4m
##最大binlog缓存大小
max_binlog_cache_size=512m
开启复制binlog日志权限的mysql账号
grant replication slave on *.* to 'slave'@'%' indentified by '123123';
查看主机状态
3、从机配置
my.cnf配置
port=3306
default-time_zone='+8:00'
sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES
basedir=/usr/local/mysql-5.6.46
datadir=/usr/local/mysql-5.6.46/data
log-error=/usr/local/mysql-5.6.46/log/error.log
#从服务器唯一ID
server-id=2
#启用中继日志
relay-log=mysql-relay
配置跟随主机
change master to master_host='192.168.93.135',master_user='slave',master_password='123123',master_log_file='mysql-bin000001',master_log_pos=319;
192.168.93.135表示主机ip
slave 表示主机授权复制binlog日志的账号
123123 表示主机授权复制binlog日志账号的密码
mysql-bin000001 表示从主机的哪个binlog文件开始
319 表示从主机的哪个binlog文件里的具体位置开始
启动从服务器复制功能
start slave;
查看从服务器状态
show slave status\G;
当看到两项属性为yes时,主从搭建成功。
**注意:**如果从服务器已经开启了slave功能,需要从新配置新的主机。
stop slave;
reset master;
来源:CSDN
作者:qq_37119960
链接:https://blog.csdn.net/qq_37119960/article/details/103815391