用federated引擎在不同服务器间转移mysql表
浏览:1325次 出处信息
假设一个场景:在某一天,我需要将my01上的某些表转移到另一台机器my02上,都有哪些方法可以实现?至于转移的目的可能有很多,比如my01磁盘不够了,我对DB进行拆分;比如用性能更好(差)的my02代替my01;比如线上环境与线下环境进行数据备份….
针对这个问题,你肯定会马上想出下面的方法:
第一种方法可行,但是存在两次数据落地(my01->本地磁盘,本地磁盘->my02),并且在转移过程中,存在字符转义(不可见字符)的情况,可能导致数据不一致情况出现。
第二种方法再好不过了,但假如这个转移表的需求是一个日常的工作,生产环境的mysql服务器出于安全考虑又不允许我们scp,或者这个表不是myisam的,那就行不通了。
那么,我们用federated表来试试吧。你应该想到了,我是这么做的:
INSERT INTO 新表 SELECT * FROM federated表
不过,mysql在编译安装时默认并没有包含federated引擎,并且即使安装了,启动mysql服务的时候也需要额外增加参数才能使用federated表。我相信很少有生产环境满足这两个条件。不过,为了用得爽,做一些改变又何乐而不为呢?
QQ技术交流群:445447336,欢迎加入!
扫一扫订阅我的微信号:IT技术博客大学习
扫一扫订阅我的微信号:IT技术博客大学习
文章信息
- 作者:朋春 来源: 淘宝数据平台与产品部官方博客 tbdata.org
- 标签: federated
- 发布时间:2011-04-02 14:14:45
近3天十大热文
- [694] Go Reflect 性能
- [26] 正态分布的前世今生(一)
- [18] rsync同步的艺术
- [15] Cuckoo Filter:设计与实现
- [15] 基于HTTP缓存轻松实现客户端应用的离线支持
- [14] Linux Used内存到底哪里去了?
- [13] Linux内存中的Cache真的能被回收么?
- [13] 关于RDS只读实例延迟分析
- [13] 什么是DNS劫持和DNS污染?
- [13] 公钥私钥加密解密数字证书数字签名详解