一、准备
1.1、 机器信息
-
172.16.20.236 服务器
-
172.16.20.237 服务器
-
2个服务器数据是一样的,且数据库的的密码加密方式要一样,不然配置主从的时候,主从连接不了。
-
如果不一样,可以通过以下方式去修改
ALTER USER 'synuser'@'%' IDENTIFIED WITH mysql_native_password BY 'Syn@2021'; FLUSH PRIVILEGES;
-
1.2、注意点
1.2.1、修改UUID
因为 237的数据,是从236那里将整个数据目录拷贝过来的,需要去修改uuid,只要修改一台就可以。
登陆236的mysql
mysql -h127.0.0.1 -u root -p
查找mysql的安装地址
show variables like 'datadir';
返回的是
/mysql/data/
通过mysql生成一个uuid,等会用于修改
select uuid()
生成的uuid
c3e68eed-8e40-11eb-9d18-fefcfee28c83
修改236的uuid vim /mysql/data/auto.cnf
server-uuid=c3e68eed-8e40-11eb-9d18-fefcfee28c83
二、主从复制步骤
主从配置信息
172.16.20.236 主库
172.16.20.237 从库
2.1、172.16.20.236机器修改
修改配置
vim /etc/my.cnf
新增
server-id=1
log-bin=mysql-node1
创建数据同步用户,让从服务器通过这个用户连接过来
mysql -h127.0.0.1 -u root -p
CREATE USER 'synuser'@'%' IDENTIFIED BY 'Syn@2021';
授权
GRANT REPLICATION SLAVE ON *.* TO 'synuser'@'%';
刷新权限
flush privileges;
查看数据同步用户
select user,host from mysql.user;
重启
service mysqld restart
登陆mysql
mysql -h127.0.0.1 -u root -p
查看状态
show master status;
File:数据的日志文件
Position:数据的日志文件,当前记录的位置
2.2、172.16.20.237机器修改
修改配置
vim /etc/my.cnf
新增
server-id=2
log-bin=mysql-node2
重启
service mysqld restart
登陆mysql
mysql -h127.0.0.1 -u root -p
设置连接主数据库的信息
change master to master_host='172.16.20.236',master_port=3306,master_user='synuser',master_password='Syn@2021',master_log_file='mysql-node1.000001',master_log_pos=14812;
参数介绍
master_host:主数据库ip
master_port:主数据库端口
master_user:连接主数据的用户
master_password:连接主数据的密码
master_log_file:主数据的日志文件
master_log_pos:主数据的日志文件,当前记录的位置
启动
start slave;
查询状态
show slave status \G;
2.3、验证
主服务器236添加数据
create database test2;
查看从服务器237添加数据