mysql MMM数据丢失_MySQL mmm可能出现数据库丢失的情况

在测试环境中,模拟了MySQL MMM高可用配置下,当同步延迟且原master宕机的情况。测试显示,db3在master db2宕机后,虽然能自动切换到新的master,但在db3上存在数据丢失,即db2新增的记录未同步。这表明MySQL在大负载和同步延迟下,若主库故障,可能存在数据不一致的风险。
摘要由CSDN通过智能技术生成

测试环境如下:

db1(192.168.49.41) master/ONLINE. Roles: reader(192.168.49.152)

db2(192.168.49.43) master/ONLINE. Roles: reader(192.168.49.153), writer(192.168.49.150)

db3(192.168.49.39) slave/ONLINE. Roles: reader(192.168.49.151)

测试过程:

在db2的test 数据库中建立一个表t

mysql> create table t(id int,uptime datetime);

Query OK, 0 rows affected (0.01 sec)

并插入一条记录

mysql> insert into t values(1,now());

Query OK, 1 row affected (0.00 sec)

mysql> select * from t;

+------+---------------------+

| id   | uptime              |

+------+---------------------+

|    1 | 2013-11-20 16:54:04 |

+------+---------------------+

1 row in set (0.00 sec)

可以检查在db1和db3上这条记录已经存在,说明这时同步没有问题,接下来进行下面的操作

1.在db3上关闭slave io_thread 进程,以模拟同步延迟的情况

mysql> stop slave io_thread;

Query OK, 0 rows affected (0.00 sec)

2.在db2上再插入一条记录

mysql> insert into t values(2,now());

Query OK, 1 row affected (0.00 sec)

3.在db2上半闭mysql 进程,以模拟数据库服务器突然宕机的情况

4.启动db3上的slave io_thread进程

start slave io_thread;

5.在db3上查看slave status关态

mysql> show slave status \G

ERROR 2006 (HY000): MySQL server has gone away

No connection. Trying to reconnect...

Connection id:    2073213

Current database: test

*************************** 1. row ***************************

Slave_IO_State: Waiting for master to send event

Master_Host: 192.168.49.43

Master_User: dba_repl

Master_Port: 3306

Connect_Retry: 60

Master_Log_File: mysql-bin.000046

Read_Master_Log_Pos: 1051

Relay_Log_File: mysqld-relay-bin.000002

Relay_Log_Pos: 253

Relay_Master_Log_File: mysql-bin.000046

Slave_IO_Running: Yes

Slave_SQL_Running: Yes

Replicate_Do_DB:

Replicate_Ignore_DB:

Replicate_Do_Table:

可见这时db3的master已经自动切换到了db2,但是查看test.t表可发现,并没有id为2的记录。但是db2中存在id为2的记录。

结论:

MySQL MMM 高可用配置在大负载切同步存在延迟的情况下如果原master突然无法访问是可能出现数据丢失的情况的

MySQL课程推荐

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值