<强>前言:强>
在实际工作中,我们可能会遇到需要操作其他数据库实例的部分表,但又不想系统连接多库。此时我们就需要用到数据表映射。如Oracle中同的DBlink一般,使用过甲骨文DBlink数据库链接的人都知道可以跨实例来进行数据查询,同样的,Mysql自带的联合引擎完美的帮我们解决了该问题。本篇文章介绍联邦引擎的开启和使用。
1。开启联合引擎
若需要创建联合引擎表,则目标端实例要开启联合引擎。从MySQL5.5开始联合引擎默认安装只是没有启用,进入命令行输入<代码>显示引擎;代码>联合行状态为没有。
<代码类=" language-shell "> mysql>显示引擎; + - - - - - - - - - - - - - - - - - - - - - - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + | | |评论| | XA事务支持引擎| |保存点 + - - - - - - - - - - - - - - - - - - - - - - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + | | PERFORMANCE_SCHEMA |是|性能模式没有| | | | MRG_MYISAM |是的相同的MyISAM表| |集合没有| | | CSV存储引擎CSV |是| | |没有| | | |黑洞|是|/dev/null存储引擎(任何你写它消失)|没有| | | | MyISAM |是| MyISAM存储引擎|没有| | | | InnoDB | |支持交易违约,行级锁,和外键|是的| | | |归档|是|归档存储引擎|没有| | | 基于记忆| |是|散列,存储在内存中,用于临时表|没有| | | 联邦没有| | |联合MySQL存储引擎零零零| | | | + - - - - - - - - - - - - - - - - - - - - - - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + 9行集(0.00秒)代码>
在配置文件(mysqld)中加入一行:联邦,然后重启数据库,联邦引擎就开启了。
<代码类=" language-shell "> mysql>显示引擎; + - - - - - - - - - - - - - - - - - - - - - - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + | | |评论| | XA事务支持引擎| |保存点 + - - - - - - - - - - - - - - - - - - - - - - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + CSV存储引擎CSV |是| | |没有| | | | MRG_MYISAM |是的相同的MyISAM表| |集合没有| | | | MyISAM |是| MyISAM存储引擎|没有| | | |黑洞|是|/dev/null存储引擎(任何你写它消失)|没有| | | | | PERFORMANCE_SCHEMA |是|性能模式没有| | | 基于记忆| |是|散列,存储在内存中,用于临时表|没有| | | |归档|是|归档存储引擎|没有| | | | InnoDB | |支持交易违约,行级锁,和外键|是的| | | 联邦联邦MySQL存储引擎| |是| |没有| | | + - - - - - - - - - - - - - - - - - - - - - - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + 9行集(0.00秒)代码>
2。使用连接创建联合表
使用连接创建联合引擎表通用模型:
<代码类=" sql语言"> CREATE TABLE (……) 联邦连接引擎==' mysql://用户名:password@hostname:港口/数据库/表”代码>
简单创建测试:
<代码类=" sql语言"> #源端表结构及数据 mysql>显示创建表test_table \ G * * * * * * * * * * * * * * * * * * * * * * * * * * * 1。行* * * * * * * * * * * * * * * * * * * * * * * * * * * 表:test_table 创建表:创建表“test_table”( increment_id int (11) NOT NULL AUTO_INCREMENT评论的自增主键的, stu_id int (11) NOT NULL评论“学”号, stu_name varchar(20)默认空评论的学生姓名”, “create_time”默认时间戳NOT NULL CURRENT_TIMESTAMP评论“创建时间”, “update_time”默认时间戳NOT NULL CURRENT_TIMESTAMP fedlink>创建服务器 外国包装mysql数据 选项(用户“fed_user”密码“123456”,主持人remote_host,端口3306,数据库“联合”);MySQL下的数据库链接