MySQL开启federated引擎实现数据库表映射

1.查看federated引擎是否开启

点击进入Navicat并点击键盘上F6,出现命令行界面 ,输入指令:show engines;

2.开启federated引擎

Windows系统 : 在my.ini中加入federated

3.建立映射表

在服务器A上有MySQL数据库test_a,在服务器B上有MySQL数据库test_b。现在需要将test_a库中的user表数据映射到数据库test_b中。此时需要在数据库test_b中建立表user,注意ENGINE和CONNECTION。

CREATE TABLE user (
  id int(11) NOT NULL,
  name varchar(30) NOT NULL,
  age int(11) NOT NULL,
  PRIMARY KEY (id)
) ENGINE=FEDERATED
CONNECTION=‘mysql://test:[email protected]:3306/test_a/user‘
DEFAULT CHARSET=utf8;

上面链接中test是链接数据库用户名称;123456是密码;192.168.1.5是数据库服务器ip;3306是数据库服务器端口;test_a是数据库名称;user是数据库表名称。

这里有一些连接字符串的例子:

CONNECTION=‘mysql://username:[email protected]:port/database/tablename‘
CONNECTION=‘mysql://[email protected]/database/tablename‘
CONNECTION=‘mysql://username:[email protected]/database/tablename‘

4.服务器A上MySQL数据库test_a设置可以远程访问,并给test用户分配相关表的读写权限。

5.此时,修改test_b中的user表后,就可以在test_a中的user表中看到相关改动;同理,修改test_a中的user表后,就可以在test_b中的user表中看到相关改动。

原文地址:https://www.cnblogs.com/shuilangyizu/p/9261567.html

时间: 2024-10-20 12:33:17

MySQL开启federated引擎实现数据库表映射的相关文章

mysql使用federated引擎实现远程访问数据库(跨网络同时操作两个数据库中的表)

问题: 这里假设我需要在IP1上的database1上访问IP2的database数据库内的table2表 方法: 这里database作为本地数据库需要开启federated引擎才可以访问远程的database内的表,具体开启方法如下: 本地IP1数据库DATABASE1开启FEDERATED引擎 http://blog.csdn.net/bravezhe/article/details/8269648 MYSQL命令行,查看FEDERATED引擎是否开启,默认是不开启 >show engin

MySQL的FEDERATED引擎实现类Oracle的DBlink

随着业务的复杂度不断的增加.数据库不断的切分,在分布式系统中往往一台或几台数据库并不能满足我们的需求,所以常常需要多台同时时用,而在平时需要通过其它服务器的数据库获取信息最为方便的就是数据链接,而比较常见的如Oracle中的DBlink一般,使用过Oracle的DBlink-数据库的链接的人都知道可以跨服务器数据库的来进行数据查询.而在MySQL5.0以后中通过使用FEDERATED引擎也可以实现类似于Oracle中DBlink,在MySQL5.5开始默认安装只是没有启用,同Oracle的DBl

Hibernate<二> 映射基础 单个持久类与单个数据库表映射

一.单个持久化类与单个数据库表映射基础 1.在Hibernate应用中,持久化类的访问方法有两个调用者: ①.Java应用程序:调用User对象的getXXX方法,读取User信息.调用setXXX方法,把用户输入的user信息写入到user对象中. ②.Hibernate:调用User对象的getXXX方法,读取user信息,把它保存到数据库调用user对象的setXXX方法,把从数据库中读出的user信息写入到user对象中.Hibernate的session在执行save().update

mysql添加Federated引擎问题

现在我有这么一个需求, 就是有两个项目, 一个叫项目A,一个项目B, 由于A的用户表和B的用户表是要实现一样的. 例如: 我在A项目中注册了,要实现在B项目中也能登录 由于用到的数据是mysql, 那么可以使用Federated引擎实现这个需求. 环境 首先查询一下mysql中有没有Federated这个引擎.我有的是mysql5.7.22 show engines; 结果 mysql> show engines; +--------------------+---------+--------

利用MySQL之federated引擎实现DBLink功能

有时候我们需要跨库join查询,但是配置多数据源成本又太高,Oracle提供了DBLink功能,MySQL中也有类似的实现:federated-engine. MySQL中使用federated引擎的表能够映射远程数据库的表,本地的这张表相当于远程数据库某表在本地的引用,在本地对表的操作能够实时的反应到远程表上,包括CRUD. 要实现首先需要开启本地库的federated引擎[远程数据库不需要任何配置],使用SHOW ENGINES;语句查询本地库是否开启了federated-engine:如果

mysql开启远程登陆(修改数据表和授权两种方法)

一.确认防火墙没有阻止3306端口(一般服务器默认会屏蔽掉) windows防火墙例外设置方法 控制面板(右上角选择查看方式为大图标)---防火墙---高级设置---高级设置---出站规则---最右边 新建规则"新建出站规则向导",在向导的第一步,选择要创建的防火墙规则类型,选择第二个"端口". windows防火墙添加端口方法 windows的防火墙做了比较大升级 设置已经分为入站和出站.控制面板\所有控制面板项\Windows 防火墙 进入 入站规则设置第一步

mysql之innodb引擎的共享表空间和独立表空间

对于innodb的数据存储文件,首先要解决两个概念性的问题: 共享表空间以及独占表空间.(innodb引擎与MYISAM引擎的区别很大.特别是它的数据存储方式等.) 1.共享表空间和独占表空间介绍 共享表空间以及独占表空间都是针对数据的存储方式而言的. 共享表空间:  每一个数据库的所有的表数据,索引文件全部放在一个文件中,默认这个共享表空间的文件路径在data目录下. 默认的文件名为:ibdata1  初始化为10M. 独占表空间:  每一个表都将会生成以独立的文件方式来进行存储,每一个表都有

srping配合hibernate实现POJO与数据库表映射的零配置

第一步:配置数据源 <!-- 配置数据源1 -->    <bean name="dataSource" class="com.alibaba.druid.pool.DruidDataSource"        init-method="init" destroy-method="close">        <property name="url" value="

MySQL使用FEDERATED engine建立代理表

CREATE TABLE `yndzm` ( `city` varchar(40) DEFAULT NULL COMMENT '市(州)', `county` varchar(60) DEFAULT NULL COMMENT '县(区)', `town` varchar(60) DEFAULT NULL COMMENT '乡(镇,街道)', `village` varchar(60) DEFAULT NULL COMMENT '村(社区)', `zcode` varchar(25) NOT NU