在linux平台下,起了两个运营数据库实例DB1和DB2, 两者的数据分别存放在/data1和/data2下, 我希望用另外一个数据库实例DB3来整合DB1和DB2的数据, 方式如下:
在/data3下分别建立/data1和/data2中的文件和目录的软联接,
root@linux:ls
db11 -> /data1/db1
db12 -> /data1/db2
db21 -> /data2/db1
db22 -> /data2/db2这样做, 应用就可以通过只访问DB3,来获取所有的运营数据. 这种方案在所有的表都是MyISAM的情况下运行正常,但是如果某个数据库里包括了innoDB的表, 就有问题了:
由于我配置mysql的innoDB是使用的共享表空间, 这样/data1和/data2目录下分别有一个ibdata文件, 这样就无法在/data3下面做出一个满足DB1和DB2的ibdata符号联接.请问各位高手, 如果要把多个DB实例的数据整合到一个DB里,有没有什么好的办法? 如果按照我这样的思路, 用第3个实例把其它2个实例的数据整合起来, 怎么解决我遇到的问题?
在/data3下分别建立/data1和/data2中的文件和目录的软联接,
root@linux:ls
db11 -> /data1/db1
db12 -> /data1/db2
db21 -> /data2/db1
db22 -> /data2/db2这样做, 应用就可以通过只访问DB3,来获取所有的运营数据. 这种方案在所有的表都是MyISAM的情况下运行正常,但是如果某个数据库里包括了innoDB的表, 就有问题了:
由于我配置mysql的innoDB是使用的共享表空间, 这样/data1和/data2目录下分别有一个ibdata文件, 这样就无法在/data3下面做出一个满足DB1和DB2的ibdata符号联接.请问各位高手, 如果要把多个DB实例的数据整合到一个DB里,有没有什么好的办法? 如果按照我这样的思路, 用第3个实例把其它2个实例的数据整合起来, 怎么解决我遇到的问题?
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货