mysql8主从配置
时间: 2023-09-11 21:13:21 浏览: 97
MySQL 8的主从配置主要包括以下几个步骤:
1. 确保主库和从库已经安装并正确配置MySQL 8。
2. 在主库上,修改主配置文件(my.cnf/my.ini),启用二进制日志(binary log)功能。打开配置文件,找到并修改以下参数:
```
server-id = 1
log_bin = /var/log/mysql/mysql-bin.log
```
`server-id` 参数用于唯一标识主库,可以设置为任意整数,不同的主从服务器应该有不同的值。
3. 重启主库服务,使配置生效。
4. 创建一个用于复制的 MySQL 用户,并赋予适当的权限。在主库上执行以下命令:
```
CREATE USER 'replication_user'@'%' IDENTIFIED BY 'password';
GRANT REPLICATION SLAVE ON *.* TO 'replication_user'@'%';
```
其中,`replication_user` 是用于复制的用户名,`password` 是对应的密码。
5. 在主库上执行 `SHOW MASTER STATUS;` 命令,记录显示的 `File` 和 `Position` 值,备用。
6. 在从库上,修改从库配置文件(my.cnf/my.ini),启用复制功能。打开配置文件,找到并修改以下参数:
```
server-id = 2
relay_log = /var/log/mysql/mysql-relay-bin.log
```
`server-id` 参数同样需要设置为一个唯一的整数,并且与主库不同。
7. 重启从库服务,使配置生效。
8. 在从库上执行以下命令,配置从库复制到主库:
```
CHANGE MASTER TO MASTER_HOST='master_host_ip', MASTER_USER='replication_user', MASTER_PASSWORD='password', MASTER_LOG_FILE='log_file', MASTER_LOG_POS=log_pos;
```
其中,`master_host_ip` 是主库的 IP 地址,`replication_user` 和 `password` 是在主库上创建的复制用户的用户名和密码,`log_file` 和 `log_pos` 分别是从主库的 `SHOW MASTER STATUS;` 命令中记录的值。
9. 启动从库的复制进程:
```
START SLAVE;
```
10. 在从库上执行 `SHOW SLAVE STATUS\G;` 命令,确保复制进程已经启动,并且状态显示为 "Slave_IO_Running: Yes" 和 "Slave_SQL_Running: Yes"。
至此,MySQL 8的主从配置就完成了。主库上的数据更新操作将自动通过复制进程传递到从库上,实现数据同步。如需添加更多从库,重复步骤6-10即可。
阅读全文