MySQL 打开federated存储引擎
? ? ? ? ?
? ? ? ?本地MySQL數據庫要訪問遠程MySQL數據庫的表中的數據, 必須通過FEDERATED存儲引擎來實現. 有點類似Oracle中的
數據庫鏈接(DBLINK).首先在源數據庫執行命令show engines,結果如下圖:
?
此時的FEDERATED的support值為“NO”,說明沒有開啟,Support 的值有以下幾個:
| YES | 支持并開啟 |
| DEFAULT | 支持并開啟, 并且為默認引擎 |
| NO | 不支持 |
| DISABLED | 支持,但未開啟 |
?
參考一下在windows下的解決辦法,找到MYSQL的安裝目錄C:\Program Files\MySQL\MySQL Server 5.6里的my.int文件,可能沒有,就把my-default.ini文件復制一個改名為my.int,然后在my.int文件里的[mysqld]下面加一行federated,保存,重啟mysql服務,再用命令show engines查詢,
?
此時FEDERATED的support變為YES了,然后在源數據庫建個和目標數據庫表(或視圖)結構一樣的表,
CREATE TABLE federated_table (
? ? id ? ? int(20) NOT NULL auto_increment,
? ? name ? varchar(32) NOT NULL default '',
? ? other ?int(20) NOT NULL default '0',
? ? PRIMARY KEY ?(id),
? ? KEY name (name),
? ? KEY other_key (other)
) ENGINE=FEDERATED CONNECTION='mysql://username:password@remote_host:3306/db_name/table_name';
? ? 然后就可以在源數據庫執行select * from?federated_table ,取出來的就是遠程數據庫的數據了。
?
總結
以上是生活随笔為你收集整理的MySQL 打开federated存储引擎的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: JEECMS自定义标签开发步骤
- 下一篇: PL/SQL Developer 和 i