当前位置:网站首页>mysql跨库关联查询(dblink)
mysql跨库关联查询(dblink)
2022-07-30 22:17:00 【web18224617243】
dblink
1、解决方案
mysql是不支持跨库连接的,如果我们实在要连接的话可以用dblink方式。
解释:
- dblink就是我们在创建表的时候连接到我们的远程库,然后我们本地新建的表数据就是
映射远程的表的数据。 - 当我们创建一个以FEDERATED为存储引擎的表时,服务器在
数据库目录只创建一个表定义文件。文件由表的名字开始,并有一个frm扩展名。无其它文件被创建,因为实际的数据在一个远程数据库上。这不同于为本地表工作的存储引擎的方式。
如我现在本地要连接我的阿里云的sys_user表
所以我需要在本地建一个相同字段的表,我取名叫sys_user_copy,并连接到远程库
建好后,我本地sys_user_copy的表里面的数据是映射远程的表的数据
所以我关联查询,可以直接关联我本地sys_user_copy表从而查出来。

改了本地的数据,远程的表数据也会跟着变
2、操作
1、开启FEDERATED引擎show engines
如果这里是NO,需要在配置文件[mysqld]中加入一行:federated

改完重启服务,就变成yes了。
2、建表时加上连接
CREATE TABLE (......)
ENGINE =FEDERATED CONNECTION='mysql://username:[email protected]:port/database/tablename'
这样即可。
3、缺点
- 1、本地表结构必须与远程表完全一样
- 2、不支持事务
- 3、不支持表结构修改
- 4、删除本地表,远程表不会删除
- 5、远程服务器必须是一个MySQL服务器
先自我介绍一下,小编13年上师交大毕业,曾经在小公司待过,去过华为OPPO等大厂,18年进入阿里,直到现在。深知大多数初中级java工程师,想要升技能,往往是需要自己摸索成长或是报班学习,但对于培训机构动则近万元的学费,着实压力不小。自己不成体系的自学效率很低又漫长,而且容易碰到天花板技术停止不前。因此我收集了一份《java开发全套学习资料》送给大家,初衷也很简单,就是希望帮助到想自学又不知道该从何学起的朋友,同时减轻大家的负担。添加下方名片,即可获取全套学习资料哦
边栏推荐
猜你喜欢
随机推荐
mysql remove duplicate data
MySQL删除表数据 MySQL清空表命令 3种方法
DistSQL in-depth analysis: creating a dynamic distributed database
【问题】Mysql Waiting for table metadata lock 解决方案 修改lock_wait_timeout时间
matlab标量场作图
2sk2225代换3A/1500V中文资料【PDF数据手册】
mysql获取近7天,7周,7月,7年日期,根据当前时间获取近7天,7周,7月,7年日期
cmd (command line) to operate or connect to the mysql database, and to create databases and tables
Jetson AGX Orin 平台关于c240000 I2C总线和GMSL ses地址冲突问题
QT开发简介、命名规范、signal&slot信号槽
MySQL索引常见面试题(2022版)
设备树的引入与体验
MySQL 灵魂 16 问,你能撑到第几问?
MYSQL JDBC图书管理系统
cnpm安装步骤
Go1.18升级功能 - 泛型 从零开始Go语言
Difference between cookie and session
连号区间数
The most powerful and most commonly used SQL statements in history
Navicat new database








