MYSQL 链接远程的链接表(类似ORACLE的DBLINK)
远程表:
CREATE TABLE IF NOTEXISTS `category`
( `id` int(11) NOTNULLAUTO_INCREMENT, `category_id` int(11) NOTNULL, `name` varchar(20) NOTNULL, PRIMARYKEY(`id`) )
ENGINE=MYSAIM DEFAULTCHARSET=utf8;
本地建立链接表(映射10.10.10.133 app库的category表)的时候:
CREATE TABLE IF NOT EXISTS `remotecategory` (`id` int(11) NOT NULL AUTO_INCREMENT,
`category_id` int(11) NOT NULL,
`name` varchar(20) NOT NULL,
PRIMARY KEY (`id`)
)ENGINE=FEDERATED DEFAULT CHARSET=utf8
CONNECTION='mysql://user:passwod@10.10.10.133:3306/app/category'; 注:表的结构一模一样,就是引擎不同,看红字FEDERATED
具体配置方法如下:
1.查看是否安装了federated引擎
输入命令:show engines;
结果如下:
从中可以看出federated引擎已经开启.(默认未开启)
2.开启federated引擎
windows下在my.ini中(或者my.cnf or my.conf or my.ini)找到[mysqld] 加入federated,即可开启,如:
1.查看是否安装了federated引擎
输入命令:show engines;
结果如下:
从中可以看出federated引擎已经开启.(默认未开启)
2.开启federated引擎
windows下在my.ini中(或者my.cnf or my.conf or my.ini)找到[mysqld] 加入federated,即可开启,如:
[mysqld]
federated
重启mysql
federated
重启mysql
linux中,需要编译时加入选项,再在my.ini中加入federated,方可开启.
3.本地mysql数据库需要开启federated引擎,所连接的远程mysql库不需要开启
4.在建本地的映射表之前,应先确认引擎是否已启动。若未启动,在开启引擎后需要重建此表。
3.FEDERATED支持及不支持的如下:
·远程服务器必须是一个MySQL服务器. FEDERATED对其它数据库引擎的支持可能会在将来被添加.
·FEDERATED表指向的远程表在通过FEDERATED表访问它之前必须存在.
·一个FEDERATED表指向另一个FEDERATED表是可能的, 但是必须小心不要创建一个循环.
·没有对事务的支持.
·如果远程表已经改变, 对FEDERATED引擎而言是没有办法知道的. 这个的原因是因为这个表必须象数据文件一样工作,
除了数据库其它任何都不会被写入. 如果有任何对远程数据库的改变, 本地表中数据的完整性可能会被破坏.
·FEDERATED存储引擎支持SELECT,INSERT,UPDATE,DELETE和索引. 它不支持ALTER TABLE,DROP TABLE或任何
其它的数据定义语言语句. 当前的实现不使用预先准备好的语句.
·执行使用SELECT,INSERT,UPDATE和DELETE, 但不用HANDLER.
·FEDERATED表不能对查询缓存不起作用.
这些限制中的一些在FEDERATED处理机的将来版本可能被消除.
相关推荐
通过DBLink,用户可以查询远程数据库中的表,并执行远程数据库上的存储过程。但需要注意的是,DBLink通常是单向的连接。 创建DBLink之前,必须保证以下几点: 1. 本地数据库到远程数据库之间的网络连接正常,可以...
数据库链接(DBLINK)允许一个Oracle数据库实例连接到另一个远程数据库实例,从而实现数据的透明访问。创建DBLINK的基本语法如下: ```sql CREATE DATABASE LINK db_link_name CONNECT TO remote_user IDENTIFIED ...
在这个查询中,`@dcmdb`就是我们刚创建的DBLINK,它告诉Oracle要通过这个链接去查询`tabname`表。 需要注意的是,DBLINK的安全性和性能优化也是重要的考虑因素。创建DBLINK时应确保远程用户的权限适中,避免不必要...
在 Oracle SQL 查询中,你可以创建一个数据库链接(DBLink),然后像操作本地表一样操作远程 MySQL 表。 例如,创建 DBLink 的 SQL 语句可能如下: ```sql CREATE DATABASE LINK mysql_link CONNECT TO mysql_user ...
这通常用于开发环境中,以便快速了解当前用户所拥有的远程数据库链接。 3. **ALL_DB_LINKS 视图**: - 对于那些拥有更高权限的用户(如 DBA),可以使用 `SELECT * FROM all_db_links;` 来查看数据库中所有用户所...
7. 创建Oracle数据库链接(dblink),如`create public database link ecology connect to "sa" identified by "******" using 'dg4msql';`,这里的`ecology`是dblink的名称,`sa`是SQL Server数据库的用户名,`****...
9. dblink同步远程带blob字段的表:dblink是Oracle提供的一种数据库链接技术,用于实现不同Oracle数据库间的连接。同步带blob字段的表涉及到特殊的数据类型处理。 10. 剔重SQL的讨论:剔除重复数据的SQL查询在数据...
3. Oracle远程访问MySQL:在实际应用中,有时候需要从Oracle数据库访问MySQL数据库中的数据。这通常通过建立数据库链接(database link)实现,需要配置网络连接,并确保Oracle能够访问到MySQL的实例。 4. 分布式...
Oracle数据库的Database Link是连接不同数据库之间的一种机制,它允许用户在本地数据库上执行查询,同时访问远程数据库的数据,仿佛这些数据就在本地一样。Database Link是Oracle数据库提供的一种分布式数据库功能,...
DBLink-ODBC 的加入进一步扩展了这一功能,使得 PostgreSQL 可以利用 ODBC 驱动连接到其他非 PostgreSQL 数据源,例如 SQL Server、Oracle、MySQL 等,这样就可以在 PostgreSQL 中直接操作和查询这些外部数据库的...
- **避免多数据库间通过DBLINK访问**: 在应用层面上,多个数据库之间的交互不应通过数据库链接(DBLINK)进行,这样可以降低系统的复杂性和提高安全性。 - **不使用触发器**: 触发器可能会导致不可预测的行为或性能...
2. **Insert into table select * from table @Dblink**:利用Oracle的数据库链接功能,可以直接跨数据库进行数据迁移,适用于两数据库之间的简单迁移。 3. **Select * from table into outfile/load data (MySQL)**...
6. **DbLink.dll**:数据库连接组件,用于建立和管理与不同数据库系统的连接,可能包括除MySQL之外的其他数据库系统,如Oracle、SQL Server等。 7. **UserMould.dll**:用户模版库,很可能包含了用户可以自定义的...
- `Dblink.class`:链接管理,用于管理网站内部或外部的链接资源。 - `Dbquestion.class`:问题库,可能包含常见问题及答案的存储和查询。 - `Dbnew.class`:新闻管理,负责发布和管理企业新闻、公告等内容。 3....