https://blog.csdn.net/richie696/article/details/114261284
准备3台虚拟机,并在虚拟机上安装mysql服务
修改3台主机的mysql服务的server-uuid,保证他们的uuid都不同。UUID可以找网站生成。
vim /var/lib/mysql/auto.cnf
配置主库【Master】
#打开配置文件
vim /etc/mysql/my.cnf
#添加如下配置
[mysqld]
# MySQL8.0的默认时区
default-time_zone='+8:00'
# 默认binlog文件的名称(可自定义)
log_bin=mysql-bin
# 当前服务器的ID,不能重复,推荐用服务器IP D段
server-id=158
# 数据刷盘参数=1时,只要有1个事务提交就会触发写盘的操作,安全性最高,并发性最差
# 数据刷盘参数=0时,由文件系统控制写盘的频率,并发性能最好,但是意外丢失数据的风险最大,这里根据实际需求配置,不建议乱配。
sync_binlog=0
# 排除掉不需要同步的数据库列表
binlog-ignore-db=performance_schema
binlog-ignore-db=information_schema
binlog-ignore-db=sys
配置好以后重启服务
配置从库【slave】
#修改从库配置文件如下:
[mysqld]
server-id=160
#启用中继日志,其中mysql-relay表示日志的文件名称,该文件用来存储从主库中同步过来的数据【主库binlog日志信息】
relay_log=mysql-relay-bin
# 从库只读
read_only=1
在从库的mysql-cli执行一下语句:
change master to master_host='192.168.136.129',master_port=3306,master_user='root',master_password='123456',master_log_file='mysql-bin.000001',master_log_pos=157;
其中:
master_host 主库地址
master_port 主库端口号
master_user 主库用户名
master_password 主库密码
master_log_file 主库binlog文件名
master_log_pos 主库binlog文件偏移量,用来指定从哪个位置同步
接着执行命令 start slave;
其他命令: