mysql—不同服务器之间的表同步
0.前言
前面几篇文章,分别说了同一个服务器同一个数据库的触发器同步。
这篇文章,我们介绍一下,不同服务器之间的数据同步。
两个不同服务器上的数据库的两个表要做同步,本来想做主从的,最后由于种种原因放弃了,于是考虑是用FEDERATED做两个表的同步。
1.安装及开启服务
很多博文上说,直接找到mysql的配置文件,在mysql的配置文件中加入federated,然后重启mysql服务就行。但是,实际上,如果你没有这个的话,第一步应该先安装。
我们执行
show ENGINES
如果没有下面这一行,我们就要执行安装指令。
在mysql命令行执行安装指令:
然后重启mysql服务,再次执行show ENGINES 就能看到了。
2.格式及例子
比如下面这样:
经过测试, 如果语句测试通过,那么我在主表user2中添加一条信息,在myapp数据库中的user表中则会自动同步一条数据。
反之也成立。
3.一些问题
实际操作中遇到一些问题,比如,数据库连接密码中有’@’符号,报错:
Can’t create federated table. The data source connection string ‘mysql://root:pwd@2192432@123.123.123.123:3306/test’ is not in the correct format
另外,实际操作中遇到,在别的服务器上在执行创建命令时,表创建成功,但是没有字段,而且一直在读秒,这基本就是失败了,暂时没找到原因,猜想是权限或者是数据版本差别太大的原因。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· AI技术革命,工作效率10个最佳AI工具