mysql测试权限_MySQL运行中被改权限测试

本文讲述了运维人员误操作修改数据库权限引发的问题,包括主从库数据同步中断、日志切换失败。作者分析了原因并提出修复建议,强调了此类问题可能存在的潜在风险和解决步骤。

今天一个接到一个朋友求助,说是数据在运行中,数据库的目录被改了权限。如: 数据库目结构如下:

datadir = / data / mysql / mysql3306 / data

log - bin = / data / mysql / mysql3306 / logs

tmpdir = / data / mysql / mysql3306 / tmp

被运维同步执行了:

chown - R root : root / data / mysql / mysql3306

1.构建主从环境

mysql ; 3306 主

/ data / mysql / mysql3306 / { data , tmp , logs }

mysql ; 3307 从

/ data / mysql / mysql3307 / { data , tmp , logs }

2. 在主的wubx库里创建:

CREATE TABLE ` t2 ` (

` id ` int ( 11 ) NOT NULL AUTO_INCREMENT ,

` name ` varchar ( 32 ) DEFAULT NULL ,

PRIMARY KEY ( ` id ` )

)

确认复制正常。

3. 把主库的目录权限改成root

chown - R root : root / data / mysql / mysql3306

4. 弄出来大量的写入

for i in ` seq ( 100000 ) ; do mysql wubx - e "insert into t2(name) vlaues('golang$i')" ;done

5. 观查主库和从库上数据

发现日志没有切换时,数据都可以写入,同步正常。 主库上binlog还可以正常写入。

6. 模拟日拟切换

主库上执行: flush logs;

得到报错:

从库同步报错:

1595错误

从这里看出来,从库获取到主库日志切换指令,但主库没能创建出来新的日志,所以造成复制中断。

7.结论

主库上不影响数据写入,但发生日志切换后,不能进行新的日志写入,但没卡住写入。

从库上在主库日志发生切后,能得到新的日志文件名,但不能获到新的日志,所以同步停掉。

8.修复建议:通过实验说明,主库上的数据是最全的,在后续日志切换失败后,没有影响数据的写入。但数据没有同步到从上。

思考:

这个有点是mysqld的一个bug的感觉了,日志已经无法写入,但数据还可以写入。 很容易造成同步有问题。 对于数据不同步怎么修复。多次给学生们讲过,也能很快的把环境处理好。

Good luck!

Tag标签:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值