(mysql)federated引擎-远程连接数据表

首先看数据库有没有federated 引擎。
mysql> show engines;
+------------+----------+----------------------------------------------------------------+
| Engine     | Support  | Comment                                                        |
+------------+----------+----------------------------------------------------------------+
| MyISAM     | DEFAULT  | Default engine as of MySQL 3.23 with great performance         |
| MEMORY     | YES      | Hash based, stored in memory, useful for temporary tables      |
| InnoDB     | YES      | Supports transactions, row-level locking, and foreign keys     |
| BerkeleyDB | NO       | Supports transactions and page-level locking                   |
| BLACKHOLE  | YES      | /dev/null storage engine (anything you write to it disappears) |
| EXAMPLE    | YES      | Example storage engine                                         |
| ARCHIVE    | YES      | Archive storage engine                                         |
| CSV        | YES      | CSV storage engine                                             |
| ndbcluster | DISABLED | Clustered, fault-tolerant, memory-based tables                 |
| FEDERATED  | YES      | Federated MySQL storage engine                                 |
| MRG_MYISAM | YES      | Collection of identical MyISAM tables                          |
| ISAM       | NO       | Obsolete storage engine                                        |
+------------+----------+----------------------------------------------------------------+
12 rows in set (0.00 sec)
如上,倒数第三行即是.
 
设置如下:
(1)
要被连接方 A:
先进行授权:
grant all on jason.* to 'acc'@'192.168.1.191' identified by 'ss1324';
创建要进行连接的表:
create table jTest3(id int auto_increment primary key,user varchar(255));
 
(2)
要连接方 B:
mysql> create table jjtest3(id int not null auto_increment primary key,user varc
har(255)) engine federated connection='mysql://acc:[email protected]:3
306/jason/jTest3';
 
实现效果:
在A方对jTest3进行操作与B方对jjtest3进行操作的结果是一样的.

(3)
使用federated存储引擎连接远程MYSQL数据库的条件:
除了ENGINE表选项应该是FEDERATED;
并且CONNECTION表选项是给FEDERATED指明如何连接到远程服务器上的连接字符串之外;
这个表的结构必须完全与远程表的结构相同。
 
(4)
FEDERATED存储引擎的局限性
FEDERATED支持及不支持的如下:
・在第一个版本中,远程服务器必须是一个MySQL服务器。FEDERATED对其它数据库引擎的支持可能会在将来被添加。
・FEDERATED表指向的远程表在你通过FEDERATED表访问它之前必须存在。
・一个FEDERATED表指向另一个FEDERATED表是可能的,但是你必须小心不要创建一个循环。
・没有对事务的支持。
・FEDERATED存储引擎支持SELECT, INSERT, UPDATE, DELETE和索引。它不支持ALTER TABLE, DROP TABLE或任何其它的数据定义语言语句。
・如果远程表已经改变,对FEDERATED引擎而言是没有办法知道的。这个的原因是因为这个表必须象数据文件一样工作,除了数据库其它任何都不会被写入。如果有任何对远程数据库的改变,本地表中数据的完整性可能会被破坏。
这些限制中的一些在FEDERATED处理机的将来版本可能被消除。
 

你可能感兴趣的:(mysql,数据库,职场,休闲)