百度360必应搜狗淘宝本站头条
当前位置:网站首页 > 技术教程 > 正文

MySQL中实现跨数据库服务器查询数据

csdh11 2025-01-02 15:30 3 浏览

在MySQL中,同一个数据库服务器中,不同数据库中的表,可以通过库名调用表名的方式进行调用,实现查询与修改。对查询不同数据库服务器下的表,MySQL提供了FEDERATED引擎,实现表的映射。

(1)查看MySQL的FEDERATED引擎是否开启;默认情况下,未开启。

show engines;

(2)启用MySQL的FEDERATED引擎

对于windows系统,找到my.ini文件,添加:federated,重启mysql。

(3)利用create server 创建federated引擎连接

CREATE SERVER fedlinkname
FOREIGN DATA WRAPPER mysql
OPTIONS (USER 'username', PASSWORD 'password' ,HOST 'remote_host', PORT port_num, DATABASE 'dbname');

其中USER、PASSWORD、HOST、PORT、DATABASE均为数据源的数据库连接参数,即有数据的数据库的相关参数。

注意:CREATE SERVER语句在mysql数据库的serverstable 中创建新行。此语句需要SUPER特权。

(4)利用新建的federated引擎连接,在目标数据库中创建与源数据库中一样表结构的数据表。

CREATE TABLE test_table (
    id     INT(20) NOT NULL AUTO_INCREMENT,
    name   VARCHAR(32) NOT NULL DEFAULT ''
)
ENGINE=FEDERATED
CONNECTION='fedlinkname/test';

到此,就可以实现在目标数据库中查询test_table表,从而得到的是源数据库dbname中test表中的数据。

注意:之所以创建了federated引擎连接,是为了避免目标数据库的连接参数中有特殊字符,而不能识别的问题。

即可以直接使用如下语法创建federated引擎表,但是在connection中,如果password中也有@,那么造成语法混乱,出现报错信息,[Err] 1432 - Can't create federated table. The data source connection string。因为多了一个@,mysql会认为第一个@后就是hostname。所以建议先创建federated引擎连接,然后在创建federated引擎表

CREATE TABLE  test_table (
  ID  varchar(64) NOT NULL COMMENT 'ID',
  NAME  varchar(64)  DEFAULT NULL COMMENT 'NAME'
) ENGINE=federated CONNECTION='mysql://username:password@remote_host:port/dbname/test';

(5)查询在mysql数据库服务器中有多少个federated引擎连接

SELECT * FROM mysql.servers

(6)查询在mysql数据库服务器中有多少个federated引擎表

SELECT * from information_schema.TABLES  where TABLE_SCHEMA = 'dbname' 
ORDER BY ENGINE

相关推荐

史上最全的 Python 学习资料,PDF 电子书大合集(免费)

史上最全的Python学习资料最近一直有读者问我有没有好的Python学习资料,有没有好的PDF电子书。小白学习Python也有很长的时间了,搜集的资料也有非常多。今天整理了下,全部免...

16 款最佳免费开源 PDF 开发库 | OpenSSH 9.9 发布,默认禁用 DSA 算法

16款最佳免费开源PDF开发库便携式文档格式(PDF)由AdobeSystems于1993年创建,用于文档交换。这种格式包括PostScript页面描述编程语言的子集、字体嵌...

?? 盘点Python入门必备神仙书籍|附pdf

Python编程从入门到实践整本书内容非常丰富,包含python相关基础知识和项目实践部分,基础知识部分基本上讲解了所有python相关的基础知识,实践部分选择了三个案例。非常适合初学者学习Pyth...

Python 3.9.0 官方中文PDF文档,建议收藏,拿走不谢

最新版的Python官方文档!整理好了。领取方式见文末...

Python趣味打怪:60秒学会一个例子,147段代码助你从入门到大师

鱼羊发自凹非寺量子位报道|公众号QbitAI人生苦短,编程苦手,不妨学起Python,感受一飞冲天的快乐。不要害怕学习的过程枯燥无味,这里有程序员jackzhenguo打造的一份中文Pyt...

咸鱼疯传3.6W次!Python16本高清版 PDF初学者的极佳教材荐

【文末有获取方式】【文末有获取方式】...

史上最详细python学习路线-从入门到精通,只需5个月时间

Python是一种功能很强大的语言,对于零基础学习Python还是有难度的,但只要学习方法对,入门还是很快哒。针对Python的初学者,从无到有的Python语言如何入门,主要包括了:Python的简...

硬核!288页Python核心知识笔记(附思维导图,建议收藏)

今天就给大家分享一份288页Python核心知识笔记,相较于部分朋友乱糟糟的笔记,这份笔记更够系统地总结相关知识,巩固Python知识体系。文末获取完整版PDF...

这张思维导图,涵盖Python所有核心知识点,PDF赶快拿走

这张Python思维导图,涵盖了所有的核心知识点,包括基础知识、爬虫、函数、模块、类和对象等,从以往假大空的知识堆砌转变为清晰实用的知识体系...

顶级黑客用5分钟爬的python教程!整整400集,建议收藏

兄弟!毫无套路!!福利分享:1、本套视频一共400集,本套视频共分4季第一季Python基础。...

自学python必看的书籍《Python编程:从入门到实践》PDF拿走不谢

目录...

《Python知识手册》,高清全彩pdf版开放下载

Python编程还不懂?今天我要把我参与编写的这套《Python知识手册》免费分享出来,看完文末有惊喜哦。文末惊喜,记得看完哦!...

1张思维导图,告诉你Python核心知识体系,高清PDF拿走不谢

这张思维导图按顺序依次展示了以下内容的核心知识:基础知识、函数、文件、类和对象、魔方方法、模块、爬虫等内容。每一部分都细致展开解读,化复杂为具体,化零散为整体,尤其适合Python初学者参考学习。Py...

Python 创始人官方发布整套中文PDF文档,足足27本,学习必备!

1...

清华教授熬夜开发的《Python王者归来》高清版PDF开放下载

相信通过这本资料你可以轻松学会Python语法与应用,并逐步向Python高手之路迈进!...