由于夸服务器查询的限制,federated能够使得所有的表像是在同一台服务器上查询
(show engines-->no-->在my.ini里面添加fedrated)
经过测试,在开启federated功能后,在主服务器A(server)上每建一张表,都会产生一个.frm文件
现在B服务器(developer)想要访问A服务器,就开始创建结构一样的表
http://dev.mysql.com/doc/refman/5.1/zh/storage-engines.html#federated-install
http://yueliangdao0608.blog.51cto.com/397025/81606/
server上创建库kyx_test,创建表table_test
1 CREATE TABLE test_table ( 2 id int(20) NOT NULL auto_increment, 3 name varchar(32) NOT NULL default '', 4 other int(20) NOT NULL default '0', 5 PRIMARY KEY (id), 6 KEY name (name), 7 KEY other_key (other) 8 )
执行插入语句
1 insert into table table_test(id,name ,other) values('1','nyu','0') 2 3 insert into table table_test(id,name ,other) values('2','nyu-poly','1')
developer上创建库kyx_test,创建federated表
1 CREATE TABLE federated_table ( 2 id int(20) NOT NULL auto_increment, 3 name varchar(32) NOT NULL default '', 4 other int(20) NOT NULL default '0', 5 PRIMARY KEY (id), 6 KEY name (name), 7 KEY other_key (other) 8 ) 9 ENGINE=FEDERATED 10 DEFAULT CHARSET=gbk11 CONNECTION='mysql://root:密码@地址:3306/kyx_test/test_table';
**建表完成后发现server中文件夹里D:MySqlMySQL Server 5.5datakyx_test,存在frm文件,即frm为engine的表
而在developer中的文件夹D:MySQLMySQL Server 5.5data不存在表文件
在developer上执行查询语句
select * from federated_table
结果查询到server上的test_table表