mysql8.0 主从配置
mysql8.0 主从配置
配置信息如下:
- | master | slave |
---|---|---|
OS | ubuntu 20.04 | ubuntu 20.04 |
MySQL | mysql 8.0.32 | mysql 8.0.32 |
IP | 192.168.72.171 | 192.168.72.172 |
1、master配置
1.1、修改master配置文件
配置文件位置:/etc/mysql/mysql.conf.d/mysqld.cnf
# 修改配置文件
sudo vim /etc/mysql/mysql.conf.d/mysqld.cnf
# 添加以下配置
# master的服务id(唯一,主从不相同)
server-id = 171
# binlog文件名
log-bin = master-bin171
# 保存后退出
1.2、添加主从复制的账号
# 添加主从复制的账号
CREATE USER 'slave_copy'@'%' IDENTIFIED WITH mysql_native_password BY '!234Qwer';
# 授权
GRANT REPLICATION SLAVE ON *.* TO 'slave_copy'@'%';
# 刷新权限
flush privileges;
1.3、重启master
重启master,查看master的状态
show master status;
+----------------------+----------+--------------+------------------+-------------------+
| File | Position | Binlog_Do_DB | Binlog_Ignore_DB | Executed_Gtid_Set |
+----------------------+----------+--------------+------------------+-------------------+
| master-bin171.000001 | 157 | | | |
+----------------------+----------+--------------+------------------+-------------------+
记录master的file和position,后续配置slave会用到,至此master配置完成
2、slave配置
2.1、修改slave配置文件
配置文件位置:/etc/mysql/mysql.conf.d/mysqld.cnf
# 修改配置文件
sudo vim /etc/mysql/mysql.conf.d/mysqld.cnf
# 添加以下配置
# slave的服务id(唯一,主从不相同)
server-id = 172
# binlog文件名
log-bin = slave-bin172
# 保存后退出
重启slave数据库后进行下一步
2.2、配置从服务器连接主服务器并启动
连接slave数据库进行以下操作:
# 配置slave数据连接master数据库
# master_log_file和master_log_pos为master库中show master status查询的内容
change master to master_host='192.168.72.171', master_port=3306, master_user='slave_copy', master_password='!234Qwer', master_log_file='master-bin171.000001', master_log_pos=157;
# 启动
start slave;
# 查看slave 状态
show slave status\G;