mysql主从部署

390 阅读2分钟

一、准备

1.1、 机器信息

  1. 172.16.20.236 服务器

  2. 172.16.20.237 服务器

  3. 2个服务器数据是一样的,且数据库的的密码加密方式要一样,不然配置主从的时候,主从连接不了。

    1. 如果不一样,可以通过以下方式去修改

      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

图片.png

创建数据同步用户,让从服务器通过这个用户连接过来

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;

图片.png

重启

service mysqld restart 

登陆mysql

mysql -h127.0.0.1 -u root -p

查看状态

show master status;

图片.png

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;

图片.png

2.3、验证

主服务器236添加数据

create database test2;

图片.png

查看从服务器237添加数据

图片.png