mysql双主热备配置
时间: 2023-11-26 15:48:51 浏览: 150
以下是MySQL双主热备配置的步骤:
1. 确保两个MySQL主机的版本相同,并且都已经安装了MySQL。
2. 在两个主机上分别创建一个用于复制的用户,并授予复制权限。例如,在主机A上执行以下命令:
```mysql
CREATE USER 'replication'@'%' IDENTIFIED BY 'password';
GRANT REPLICATION SLAVE ON *.* TO 'replication'@'%';
```
在主机B上执行同样的命令,只是将用户名改为相同的名称。
3. 在主机A上,找到my.cnf文件并进行以下更改:
```cnf
server-id=1
log-bin=mysql-bin
binlog-do-db=your_database_name
```
在主机B上,也找到my.cnf文件并进行以下更改:
```cnf
server-id=2
log-bin=mysql-bin
binlog-do-db=your_database_name
```
其中,your_database_name是你要进行复制的数据库名称。
4. 在主机A上,执行以下命令获取主机B的binlog文件名和位置:
```mysql
SHOW MASTER STATUS;
```
记下File和Position的值,稍后会在主机B上使用。
5. 在主机B上,执行以下命令获取主机A的binlog文件名和位置:
```mysql
SHOW MASTER STATUS;
```
记下File和Position的值,稍后会在主机A上使用。
6. 在主机A上,执行以下命令,将主机B设置为A的从服务器:
```mysql
CHANGE MASTER TO
MASTER_HOST='B的IP地址',
MASTER_USER='replication',
MASTER_PASSWORD='password',
MASTER_LOG_FILE='B上的File值',
MASTER_LOG_POS=B上的Position值;
```
在主机B上,执行同样的命令,将主机A设置为B的从服务器。
7. 在主机A上,启动复制:
```mysql
START SLAVE;
```
在主机B上,也执行同样的命令。
8. 确认复制已经启动:
```mysql
SHOW SLAVE STATUS\G
```
如果看到Slave_IO_Running和Slave_SQL_Running两个参数都为Yes,说明复制已经成功启动。
9. 现在,你可以在任何一个主机上进行写操作,数据都会自动同步到另一个主机上。
阅读全文