天下之事,必先处之难,而后易之。

MySQL 指定数据库部分表备份—跨网络备份解决方案

 MySQL数据备份真的很强大,为之叹服!MySQL深入研究还是很有必要的,找了一堆数据同步的工具比如Canal+Otter还有Kettle,没想到如此之简单就搞定了!特别注意:所有从库节点需要设置为read_only=1使除了超级用户之外的用户不能修改从库数据以保证主从之间同步信息对等主从机制不会被破坏。

原标题是包含关键字主-从(主)-从。

目录

功能需求

MySQL主从指定数据库指定表备份

测试效果

验证同步

验证不需要同步的表数据

测试结论

MySQL主-从(主)-从测试

测试效果

验证同步

验证不需要同步的表数据

测试结论

保证主从关系对应用程序用户只读不写

数据库只读设置方式

从库只读不影响同步

常用账号赋予权限

文档下载


功能需求

这里需要满足两个需求:

a.实现数据库指定数据库和指定表同步

b.实现从数据库作为主节点再同步数据到另外一个从库(实现跨网络同步机制)

MySQL主从指定数据库指定表备份

测试效果

根据配置我们只同步service_db.sys_contacts表的数据。

Service_db有两张表:

验证同步

原表有3条记录新增一条。

Master:

Slave:

验证成功!

验证不需要同步的表数据

新增两条记录原表有79条记录。

Master:

Slave:

测试成功,sys_user并没有同步数据!

测试结论

MySQL自身可以通过配置Master-slave模式实现指定数据库和指定对应数据库表进行同步。

MySQL主-从(主)-从测试

测试效果

验证同步

Master:

Slave(slave-part( slave-part2的master节点)):

Slave(slave-part2):

测试成功!

验证不需要同步的表数据

Master:

Slave(slave-part( slave-part2的master节点)):

Slave(slave-part2):

测试成功,sys_user并没有同步数据!

测试结论

经测试MySQL主-从(主)-从的模式时可以实现的,只需要让第一个从库开启binlog日志记录功能之外再配置log_slave_updates=1让从节点写入binlog日志即可。

保证主从关系对应用程序用户只读不写

只读是为了保持从库与主库之间的信息对等,使同步机制不被破坏。

数据库只读设置方式

 设定全局变量“read_only=1”只读模式开启的解锁命令为设定“read_only=0”;

设定全局锁“flush tables with read lock;”,对应的解锁模式命令为:“unlock tables;”

从库只读不影响同步

my.cnf或my.ini

read_only=1

为了保证主从同步可以一直进行,在slave库上要保证具有super权限的root等用户只能在本地登录,不会发生数据变化,其他远程连接的应用用户只按需分配为select,insert,update,delete等权限,保证没有super权限,则只需要将salve设定“read_only=1”模式,即可保证主从同步,又可以实现从库只读。

从库完全只读设置

my.cnf或my.ini

read_only=1

数据库锁表:

flush tables with read lock

为了确保所有用户,包括具有super权限的用户也不能进行读写操作,就需要执行给所有的表加读锁的命令 “flush tables with read lock;”,这样使用具有super权限的用户登录数据库,想要发生数据变化的操作时,也会提示表被锁定不能修改的报错。这样通过 设置“read_only=1”和“flush tables with read lock;”两条命令,就可以确保数据库处于只读模式,不会发生任何数据改变,在MySQL进行数据库迁移时,限定master主库不能有任何数据变化,就可以通过这种方式来设定。

常用账号赋予权限

# 创建用户

CREATE USER 'boonya'@'%' IDENTIFIED BY 'boonya@2019';

#为用户授权

GRANT SELECT,INSERT,UPDATE,DELETE,CREATE,DROP ON *.* TO 'boonya'@'%' IDENTIFIED BY 'boonya@2019';

新建用户不是超级用户root,所以无法插入数据了。

文档下载

给有需要的人,尊重知识需要积分,环境基于Docker搭建,下载地址https://download.csdn.net/download/boonya/11154017实现配置步骤都在里面。

posted @   boonya  阅读(38)  评论(0编辑  收藏  举报  
相关博文:
阅读排行:
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· Docker 太简单,K8s 太复杂?w7panel 让容器管理更轻松!
历史上的今天:
2023-10-08 Android字母导航示例
2022-10-08 服务安全:如何保证服务器不断电数据不丢失?
2013-10-08 OpenLayers实现覆盖物选择信息提示
我有佳人隔窗而居,今有伊人明月之畔。
轻歌柔情冰壶之浣,涓涓清流梦入云端。
美人如娇温雅悠婉,目遇赏阅适而自欣。
百草层叠疏而有致,此情此思怀彼佳人。
念所思之唯心叩之,踽踽彳亍寤寐思之。
行云如风逝而复归,佳人一去莫知可回?
深闺冷瘦独自徘徊,处处明灯影还如只。
推窗见月疑是归人,阑珊灯火托手思忖。
庐居闲客而好品茗,斟茶徐徐漫漫生烟。

我有佳人在水之畔,瓮载渔舟浣纱归还。
明月相照月色还低,浅近芦苇深深如钿。
庐山秋月如美人衣,画堂春阁香气靡靡。
秋意幽笃残粉摇曳,轻轻如诉画中蝴蝶。
泾水潺潺取尔浇园,暮色黄昏如沐佳人。
青丝撩弄长裙翩翩,彩蝶飞舞执子手腕。
香带丝缕缓缓在肩,柔美体肤寸寸爱怜。
如水之殇美玉成欢,我有佳人清新如兰。
伊人在水我在一边,远远相望不可亵玩。

点击右上角即可分享
微信分享提示