mysql FEDERATED儲存引擎的使用

2021-07-29 16:19:07 字數 1646 閱讀 6037

這個儲存引擎相當於db link,可以像訪問本地表一樣訪問遠端db的表。而且可以直接看到表資料。表結構的檔案放在本地db,表儲存內容檔案放在遠端,相當於呼叫遠端的表資料檔案。

操作步驟:

1 window 修改my.ini檔案。在最底下的

[mysqld]

port=3306

federated

新增federated,支援federated型別的資料引擎。預設是不開啟的。

重啟apache。

開啟mysql console執行show engines;可以看到federated是啟用的了。

2 在本地db中執行以下sql。

create table if not exists `tablename` (

`id` int(11) not null auto_increment,

`issueno` varchar(100) default null,

`issuetitle` varchar(255) default null,

`issuekicker` varchar(255) default null,

`productid` varchar(255) not null,

`publicationdate` datetime not null,

`price` double not null,

`description` varchar(500) default null,

`status` enum('pending','publishing','published') default null,

`updatetime` datetime not null,

`updateuser` varchar(50) not null,

`bscmsid` int(11) default null,

`filter` varchar(255) default null,

`portraitcoverid` int(11) default null,

`uploadcover` tinyint(1) not null default '0',

primary key (`id`),

key `status` (`status`),

key `publicationdate` (`publicationdate`)

) engine=federated default charset=utf8 auto_increment=1

connection='mysql:';

注意:密碼不能包含@否則會提示connection string的格式錯誤。

suggested fix:

allow the @ character to be escaped, or at least annotate this in the docs (i imagine other chars will also cause a problem, such as / and :.  perhaps the connection string could be specified as: "mysql://'username':'password'@'hostname.tld'/db/table"?

參考:

MySQL FEDERATED 儲存引擎

mysql中針對不同的功能需求提供了不同的儲存引擎。所謂的儲存引擎也就是mysql下特定介面的具體實現。federated是其中乙個專門針對遠端資料庫的實現。一般情況下在本地資料庫中建表會在資料庫目錄中生成相應的表定義檔案,並同時生成相應的資料檔案。但通過federated引擎建立的表只是在本地有表...

MySQL FEDERATED儲存引擎

federated儲存引擎的描述 mysql 提供了乙個類似oracle中的資料庫鏈結 dblink 功能的儲存引擎 federated。當我們建立乙個以federated為儲存引擎的表時,伺服器在資料庫目錄只建立乙個表定義檔案。檔案由表的名字開始,並有乙個frm副檔名。無其它檔案被建立,因為實際的...

MYSQL FEDERATED儲存引擎

federated是其中乙個專門針對遠端資料庫的實現。一般情況下在本地資料庫中建表會在資料庫目錄中生成相應的表定義檔案,並同時生成相應的資料檔案。通過federated引擎建立的表只是在本地有表定義檔案,資料檔案則存在於遠端資料庫中 這一點很重要 mysql show engines 從上面可以看到...