作者:小编 日期:2023-11-12 浏览: 次
1. 主库和从库的配置
在MySQL多主复制中,主库和从库的配置是基础。主库是写入数据的数据库服务器,而从库是读取数据的数据库服务器。要配置主库和从库,首先需要在主库和从库上安装MySQL数据库,并确保它们之间的网络连接是可用的。
在主库上,需要执行以下操作:
修改主库的配置文件(通常是my.cf或my.ii),添加以下参数:
```lua
server-id = 1
log_bi = /var/log/mysql/mysql-bi.log
bilog_do_db = your_daabase_ame
```
其中,server-id是唯一的服务器ID,log_bi用于启用二进制日志,bilog_do_db指定要复制的数据库名称。
重启主库服务器以使配置生效。
在从库上,需要执行以下操作:
修改从库的配置文件,添加以下参数:
```makefile
server-id = 2
relay_log = /var/log/mysql/mysql-relay-bi.log
log_bi = /var/log/mysql/mysql-bi.log
read_oly = 1
```
其中,server-id是唯一的服务器ID,relay_log是中继日志的路径和文件名,log_bi是二进制日志的路径和文件名,read_oly表示从库只读。
重启从库服务器以使配置生效。
2. 复制设置
在多主复制中,需要在主库上启用复制功能,并将主库的二进制日志文件发送到各个从库上。在主库上,需要执行以下操作:
登录到MySQL命令行客户端,并执行以下命令启用复制功能:
```sql
CREATE TABLE your_able_ame (colum1 IT, colum2 VARCHAR(255));
```
这将创建一个示例表,用于演示复制功能。
在主库上创建一个用于复制的用户,并授予该用户复制权限:
```sql
CREATE USER 'replicaio_user'@'%' IDETIFIED BY 'your_password';
GRAT REPLICATIO SLAVE O . TO 'replicaio_user'@'%';
FLUSH PRIVILEGES;
```
这将创建一个名为“replicaio_user”的用户,并授予该用户复制权限。请将“your_password”替换为您想要设置的密码。
在从库上执行以下操作以设置复制:
```sql
CHAGE MASTER TO MASTER_HOST='maser_ip_address', MASTER_USER='replicaio_user', MASTER_PASSWORD='your_password', MASTER_LOG_FILE='mysql-bi.000001', MASTER_LOG_POS=0;
START SLAVE;
```