mysql 互为主从

grant replication slave on *.* to backup@192.168.188.128 identified by "123456"; 

grant replication slave on *.* to backup@192.168.188.8 identified by "123456"; 

 

service mysql stop

 

server_id = 1

log-bin = mysql-bin

log-error=mysql-error

master-host = 192.168.188.8

master-user = backup

master-password = '123456'

master-port = 3306

master-connect-retry = 20

replicate-ignore-db= mysql

 

 

server_id = 2

log-bin = mysql-bin

log-error=mysql-error

master-host = 192.168.188.128

master-user = backup

master-password = '123456'

master-port = 3306

master-connect-retry = 20

replicate-ignore-db= mysql

 

stop slave;

reset slave;

start slave;

 

show slave status;

### 配置两台 MySQL 实现双向主从复制 为了实现两个 MySQL 服务器之间的双向主从复制,每台服务器都需被配置成既是主服务器也是从服务器。以下是详细的配置过程: #### 修改 my.cnf 文件 对于每一台 MySQL 服务端,在 `my.cnf` 或者 `my.ini` 中加入如下参数来指定唯一的 server-id 和启用二进制日志记录功能[^1]: ```ini [mysqld] server-id=1 # 对于第二台机器应设为不同的值, 如2 log-bin=mysql-bin binlog-do-db=testdb # 只同步testdb数据库的操作到其他节点 ``` #### 创建用于复制的账户 在 Master A 上执行 SQL 命令创建一个具有 REPLICATION SLAVE 权限的新用户,并授予远程访问权限给这个新账号以便 Slave B 能够连接并请求更新数据流;同样地也需要在 Master B 执行相同操作以允许来自对方主机的数据变更通知。 Master A: ```sql CREATE USER 'replicator'@'B_HOST_IP' IDENTIFIED BY 'password'; GRANT REPLICATION SLAVE ON *.* TO 'replicator'@'B_HOST_IP'; FLUSH PRIVILEGES; ``` 其中 `B_HOST_IP` 是指代另一台MySQL实例所在的位置地址。 #### 设置初始位置信息 获取当前 binlog 的文件名和偏移量作为后续设置 slave 进程所需的信息源点。 ```sql SHOW MASTER STATUS\G ``` #### 启动Slave进程 假设已经得到了上面命令返回的结果,则可以在目标slave上通过CHANGE MASTER语句来进行初始化配置: ```sql CHANGE MASTER TO MASTER_HOST='A_HOST_IP', MASTER_USER='replicator', MASTER_PASSWORD='password', MASTER_LOG_FILE='mysql-bin.000001', MASTER_LOG_POS=4; START SLAVE; ``` 以上步骤需要分别针对两台服务器重复一遍,确保各自都能正常接收到来自伙伴方发送过来的日志事件。 #### 测试与验证 完成上述所有准备工作之后就可以尝试向任意一边写入测试表结构或记录行项目看看另一边是否会自动接收到相应变动情况了。如果一切顺利的话就说明整个双活架构搭建成功!
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值