MySQL下的数据库链接

  

<强>前言:

  

在实际工作中,我们可能会遇到需要操作其他数据库实例的部分表,但又不想系统连接多库。此时我们就需要用到数据表映射。如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下的数据库链接