2.3.6 Federate 远程访问数据库
生活随笔
收集整理的這篇文章主要介紹了
2.3.6 Federate 远程访问数据库
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
1)允許本地訪問遠程mysql數(shù)據(jù)庫中表的數(shù)據(jù) 2)本地只存結(jié)構(gòu),不存數(shù)據(jù) 3)類似于?oracle?dblink 4)Federate存儲引擎默認不開啟,如果需要開啟需要在my.cnf加入: [mysqld]
federated show engines 5)mysql 中的 Federate目前不支持異構(gòu)數(shù)據(jù)庫,但 mariadb 中的 FederateX 支持 注意事項: 1)本地表的結(jié)構(gòu)必須與遠程的完全一樣。 2)遠程數(shù)據(jù)目前只能是 mysql 3)不支持事務(wù) 4)不支持表結(jié)構(gòu)的修改 語法: 在建表語句尾部加入: engine=federated connection= 'MYSQL://用戶名:密碼@IP:端口/數(shù)據(jù)庫名/表名"
案例學(xué)習(xí)如何使用 Federate
1.查看存儲引擎 show engines 2.配置啟動 federated my.cnf 加入以下參數(shù)后重啟: [mysqld] federated mysql root@localhost:(none)> show engines +--------------------+---------+----------------------------------------------------------------+--------------+-----+------------+ | Engine | Support | Comment | Transactions | XA | Savepoints | +--------------------+---------+----------------------------------------------------------------+--------------+-----+------------+ | FEDERATED | YES | Federated MySQL storage engine | NO | NO | NO | create database itpuxdb1 create database itpuxdb2 create database itpuxdb3grant all privileges on itpuxdb2.* to lewen@'%' identified by 'lewen' grant all privileges on itpuxdb3.* to lewen@'%' identified by 'lewen' flush privileges 在 itpuxdb2 上面 use itpuxdb2; create table itpuxt2(id int not null auto_increment primary key,name char(20) not null) engine myisam; 在 itpuxdb3 上面 use itpuxdb3create table itpuxt3(id int not null auto_increment primary key,name char(20) not null) engine myisam; 在 itpuxdb1 上面 use itpuxdb1CREATE TABLE itpuxt12 ( id INT NOT NULL auto_increment PRIMARY KEY, NAME CHAR ( 20 ) NOT NULL ) ENGINE federated CONNECTION = 'mysql://root:root@10.0.0.33:33057/itpuxdb2/itpuxt2'; CREATE TABLE itpuxt13 ( id INT NOT NULL auto_increment PRIMARY KEY, NAME CHAR ( 20 ) NOT NULL ) ENGINE federated CONNECTION = 'mysql://root:root@10.0.0.33:33057/itpuxdb3/itpuxt3'; 軟連接 insert into itpuxt12(name) values('樂樂2') insert into itpuxt13(name) values('樂樂3')mysql root@localhost:itpuxdb1> select itpuxt12.*,itpuxt13.* from itpuxt12,itpuxt13 where itpuxt12.id=itpuxt13.id +----+-------+----+-------+ | id | NAME | id | NAME | +----+-------+----+-------+ | 1 | 樂樂2 | 1 | 樂樂3 | +----+-------+----+-------+insert into itpuxt12(name) values('樂樂22') insert into itpuxt13(name) values('樂樂33') insert into itpuxt12(name) values('樂樂222') insert into itpuxt13(name) values('樂樂333')mysql root@localhost:itpuxdb1> select itpuxt12.*,itpuxt13.* from itpuxt12,itpuxt13 where itpuxt12.id=itpuxt13.id +----+---------+----+---------+ | id | NAME | id | NAME | +----+---------+----+---------+ | 1 | 樂樂2 | 1 | 樂樂3 | | 2 | 樂樂22 | 2 | 樂樂33 | | 3 | 樂樂222 | 3 | 樂樂333 | +----+---------+----+---------+mysql root@localhost:(none)> SELECT * FROM itpuxdb2.itpuxt2 a,itpuxdb3.itpuxt3 b where a.id=b.id +----+---------+----+---------+ | id | name | id | name | +----+---------+----+---------+ | 1 | 樂樂2 | 1 | 樂樂3 | | 2 | 樂樂22 | 2 | 樂樂33 | | 3 | 樂樂222 | 3 | 樂樂333 | +----+---------+----+---------+總結(jié)
以上是生活随笔為你收集整理的2.3.6 Federate 远程访问数据库的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 2.3.3 mysql 权限系统介绍
- 下一篇: 2.2.1 MySQL基本功能与参数文件