federated是其中乙個專門針對遠端資料庫的實現。一般情況下在本地資料庫中建表會在資料庫目錄中生成相應的表定義檔案,並同時生成相應的資料檔案。通過federated引擎建立的表只是在本地有表定義檔案,資料檔案則存在於遠端資料庫中(這一點很重要)
mysql> show engines;
從上面可以看到federated的support是no,說明沒有啟用,如果沒有的話說明沒有編譯進去,需要重新安裝,要像啟用的話使support為yes,可以在/etc/my.cnf加federated(在mysqld加),然後重啟就可以啟用
注意:本地建立的表必須在遠端伺服器存在,建立的字段也必須是遠端表中的字段,可以比遠端表的字段少,但是不能多,本地儲存引擎選擇:engine =federated,
connection選項中的連線字串的一般形式如下:scheme://user_name[:password]@host_name[:port_num]/db_name/tbl_name
還有一些連線字串的例子:
connection='mysql://username:password@hostname:port/database/tablename'
connection='mysql://username@hostname/database/tablename'
connection='mysql://username:password@hostname/database/tablename'
1、在本地資料庫上做如下操作
create table `federated_game_broker`(
`id` int(11) not null auto_increment,
`brokerid` varchar(10) not null comment '券商id',
`broker_name` varchar(20) not null comment '名稱',
`father_id` int(11) not null comment '父id',
`path` varchar(20) not null comment 'id路徑',
`remark` varchar(100) comment '備註',
primary key (`id`)
)engine=federated charset=utf8 connection='mysql://dasai_fed:[email protected]:3306/test/imc_game_broker';
2、在遠端表上做操作
create table `imc_game_broker` (
`id` int(11) not null auto_increment,
`brokerid` varchar(10) not null comment '券商id',
`broker_name` varchar(20) not null comment '名稱',
`father_id` int(11) not null comment '父id',
`path` varchar(20) not null comment 'id路徑',
`remark` varchar(100) comment '備註',
primary key (`id`)
) eengine=innodb default charset=utf8;
3、在遠端表所在的mysql資料庫上新增乙個賬號
grant select on test.imc_game_broker to dasai_fed@'172.31.1.106' identified by 'daisai_fed';
4.操作2中的表資料,建立完成之後,你會神奇的發現你當前建立的這個表中已經有遠端表裡面的所有資料了。
注意:
MySQL FEDERATED 儲存引擎
mysql中針對不同的功能需求提供了不同的儲存引擎。所謂的儲存引擎也就是mysql下特定介面的具體實現。federated是其中乙個專門針對遠端資料庫的實現。一般情況下在本地資料庫中建表會在資料庫目錄中生成相應的表定義檔案,並同時生成相應的資料檔案。但通過federated引擎建立的表只是在本地有表...
MySQL FEDERATED儲存引擎
federated儲存引擎的描述 mysql 提供了乙個類似oracle中的資料庫鏈結 dblink 功能的儲存引擎 federated。當我們建立乙個以federated為儲存引擎的表時,伺服器在資料庫目錄只建立乙個表定義檔案。檔案由表的名字開始,並有乙個frm副檔名。無其它檔案被建立,因為實際的...
MySQL FEDERATED引擎的使用
mysql federated引擎的使用 本地資料庫base1,遠端資料庫base2。第一步 本地資料庫base1配置 federated屬性 通過mysql56服務 右鍵屬性 可以找到 配置檔案 c programdata mysql mysql server 5.6 my.ini my.ini中...