mysql数据库上的链接服务器-Federated引擎
2011-05-30 11:32
387 查看
以前一直用的是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.
-------------------------------------
示例:
http://dev.mysql.com/tech-resources/articles/mysql-federated-storage.html
Federated存储引擎可以使几台数据库逻辑上组成一个数据库,其作用相当于Oracle的数据库链接,通俗地说,即在本地建立远程的数据库表的引用。
Mysql需要5.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引擎没有开启
windows下在my.ini中加入federated,即可开启;而在linux中,需要编译时加入选项,再在my.ini中加入federated,即可开启。
(2)建立远程数据库表链接
比如:在server1中有一个数据库db1,在server2中有db1,其中server1.db1为写,server.db1为备份;假设在两个服务器db1中分别有一个表a,在server1.db1中建立server2.db1.a的链接
create table remote_a ...... engine=federated connection = 'mysql://root:123456@server2:3306/db1/a';
(3)创建触发器
delimiter ;;
create trigger copy_a_insert after insert on a for each row begin 向remote_a插入数据 end;;
create trigger copy_a_update after update on a for each row begin 向remote_a更新数据 end;;
create trigger copy_a_delete after delete on a for each row begin 向remote_a删除数据 end;;
delimiter ;
这样在向server1.db1.a中插入数据时,调用触发器copy_a_insert,向remote_a插入数据,而remote_a是对server2.db1.a的链接,从而达到复制的目的。
要配置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.
-------------------------------------
示例:
http://dev.mysql.com/tech-resources/articles/mysql-federated-storage.html
Federated存储引擎可以使几台数据库逻辑上组成一个数据库,其作用相当于Oracle的数据库链接,通俗地说,即在本地建立远程的数据库表的引用。
Mysql需要5.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引擎没有开启
windows下在my.ini中加入federated,即可开启;而在linux中,需要编译时加入选项,再在my.ini中加入federated,即可开启。
(2)建立远程数据库表链接
比如:在server1中有一个数据库db1,在server2中有db1,其中server1.db1为写,server.db1为备份;假设在两个服务器db1中分别有一个表a,在server1.db1中建立server2.db1.a的链接
create table remote_a ...... engine=federated connection = 'mysql://root:123456@server2:3306/db1/a';
(3)创建触发器
delimiter ;;
create trigger copy_a_insert after insert on a for each row begin 向remote_a插入数据 end;;
create trigger copy_a_update after update on a for each row begin 向remote_a更新数据 end;;
create trigger copy_a_delete after delete on a for each row begin 向remote_a删除数据 end;;
delimiter ;
这样在向server1.db1.a中插入数据时,调用触发器copy_a_insert,向remote_a插入数据,而remote_a是对server2.db1.a的链接,从而达到复制的目的。
相关文章推荐
- mysql数据库上的链接服务器-Federated引擎
- mysql数据库上的链接服务器-Federated引擎 db link
- mysql数据库上的链接服务器-Federated引擎【转】
- mysql数据库上的链接服务器-Federated引擎
- federated存储引擎实现跨服务器的数据访问
- MySQL数据库上配置Federated引擎的方法
- MySQL数据库InnoDB引擎下服务器断电数据恢复
- 存储引擎之必知必会 -- 理解作业、所有者、链接服务器、安全上下文
- MySQL数据库InnoDB引擎下服务器断电数据恢复方法
- 用mysql的federated数据引擎和触发器实现跨服务器表数据同步
- Mysql的跨服务器 关联查询--Federated引擎
- mysql数据库跨服务器查询【需要确定mysql支持FEDERATED ,可以参照文章内容自己配置】
- 用mysql的federated数据引擎和触发器实现远程服务器表数据同步
- 在sql server 中创建链接服务器连接mysql数据库
- go 语言链接服务器上的mysql数据库
- MySQL数据库InnoDB引擎下服务器断电数据恢复方法
- 【U3D】Unity引擎链接mySQL数据库
- mysql数据库跨服务器查询【需要确定mysql支持FEDERATED ,可以参照文章内容自己配置】
- 操作服务器及MySQL数据库可以使其远程链接
- mysql 通过federated引擎 跨服务器访问数据