热门标签 | HotTags
当前位置:  开发笔记 > 后端 > 正文

MySQL数据库上的链接服务器-Federated引擎

以前一直用的是SQLServer数据库,最近公司有个新项目,要用mysql数据库,其中有很多跨服务器访问的情况.SQLServer使用链接服务器实

以前一直用的是SQL Server数据库,最近公司有个新项目,要用mysql数据库,其中有很多跨服务器访问的情况.SQL Server使用链接服务器实

以前一直用的是SQL Server数据库,最近公司有个新项目,要用mysql数据库,其中有很多跨服务器访问的情况.SQL Server使用链接服务器实现跨服务器访问,而mysql是通过Federated引擎实现的.

要配置Federated引擎,需要mysql5.0以上的版本,具体配置方法如下:

1.查看是否安装了federated引擎

输入命令:show engines;

结果如下:

Engine Support Comment Transactions XA Savepoints
MEMORY YES Hash based, stored in memory, useful for temporary tables NO NO NO
FEDERATED NO Federated MySQL storage engine
MyISAM YES Default engine as of MySQL 3.23 with great performance NO NO NO
BLACKHOLE YES /dev/null storage engine (anything you write to it disappears) NO NO NO
MRG_MYISAM YES Collection of identical MyISAM tables NO NO NO
CSV YES CSV storage engine NO NO NO
ARCHIVE YES Archive storage engine NO NO NO
InnoDB DEFAULT Supports transactions, row-level locking, and foreign keys YES YES YES

从中可以看出federated引擎没有开启.

2.开启federated引擎

windows下在my.ini中加入federated,即可开启;

linux中,需要编译时加入选项,,再在my.ini中加入federated,方可开启.

3.建立远程数据表链接

假如:在ServerA上有一个数据库dbtestA,在ServerB上有数据库dbtestB,要在ServerB的数据库dbtestB上建立ServerA的数据库dbtestA上的表tabletestA的数据表链接remote_tabletestA,语句如下:

create table remote_tabletestA ... ... engine=federated cOnnection= 'mysql://root:123123@ServerA:3306/dbtestA/tabletestA';

4.使用远程数据表链接

如上例,直接在ServerB的数据库dbtestB上对表remote_tabletestA进行操作,即是操作ServerA上数据库dbtestA的表tabletestA.

linux

推荐阅读
author-avatar
前世梦0708
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有