MYSQL一主多从
准备4台mysql服务端口号分别为3307,3308,3309,3310,我这选用3307为主服务器,其他三个为从服务器
主库配置
1.修改主服务器3307my.cnf文件
log-bin = /usr/local/mysql-5.7.32-3307/logs/mybinlog
#mysql服务ID,保证整个集群环境中唯一,取值范围: 1 - 2的32次方-1,默认为1
server-id=3307
#是否只读,1 代表只读,0 代表读写
read-only=0
2.重启3307数据库服务
./mysqld_safe &
3.进入主服务器查看主服务器状态和偏移量
./mysql -uroot -p123456 -P3307
show master status;
file:从哪个日志文件开始推送日志文件
position:从哪个位置开始推送日志
binlog_ignore_db:指定不需要同步的数据库
4.创建一个用于slave和master通信的用户账号
#创建liu用户,并设置密码,该用户可在任意主机连接该MySOL服务
CREATE USER 'liu'@'%' IDENTIFIED WITH mysql_native_password BY '密码' ;
#为'liu'@'%’ 用户分配主从复制权限
GRANT REPLICATION SLAVE ON *.* TO 'liu'@'%';
#刷新
flush privileges;
重新查看偏移量,发现偏移量改变了
重置偏移量
reset master
从库配置
1.修改3308,3309,3310mysql的my.cnf文件
3308的my.cnf添加服务id
log-bin = /usr/local/mysql-5.7.32-3308/logs/mybinlog
server-id=3308
#是否只读,1 代表只读,0 代表读写
read-only=1
3309的my.cnf添加服务id
log-bin = /usr/local/mysql-5.7.32-3309/logs/mybinlog
server-id=3309
read-only=1
3310的my.cnf添加服务id
log-bin = /usr/local/mysql-5.7.32-3310/logs/mybinlog
server-id=3310
read-only=1
3.启动mysql
启动命令
./mysqld_safe &
4.分别进入3个从数据库设置从节点
change master to master_host="47.110.157.82",master_port=3307,
master_user="liu",master_password="123456",
master_log_file="mysql-bin.000001",master_log_pos=154;
启动从节点
start slave;
在从数据库查看从节点
show slave status \G;
成功