mysql实现跨服务器查询数据

在日常的开发中经常进行跨数据库进行查询数据。
同服务器下跨数据库进行查询在表前加上数据库名就可以查询到数据。
mysql跨服务器进行查询提供了FEDERATED引擎进行映射表,然后进行查询。

mysql数据库federated引擎是关闭的,首先需要先启用该引擎。mysql执行show engines命令查看引擎状态。

show engines;
FEDERATED引擎是未启用的。

该引擎是未启用的

启用FEDERATED引擎

Windows下找到my.ini修改mysql配置。该文件是隐藏在ProgramData文件夹,在该地址:C:\ProgramData\MySQL\MySQL Server 5.7,可以通过%ProgramData%查找该隐藏文件件。
打开my.ini文件,在[mysqld] 下加上federated

在这里插入图片描述

重启mysql,再查看引擎

在这里插入图片描述

在mysql中创建远程服务器数据库中的需要映射的表,映射表名称可以随意命名,但是数据结构必要一样。
CREATE TABLE `hn_user` (
  `id` varchar(32) NOT NULL,
  `name` varchar(20) DEFAULT NULL,
  `phone` varchar(11) DEFAULT NULL,
  `idcard` varchar(18) DEFAULT NULL,
  `update_time` bigint(13) DEFAULT NULL,
  `add_time` bigint(13) DEFAULT NULL,
  PRIMARY KEY (`id`)
) ENGINE=FEDERATED CONNECTION='mysql://root:123456@192.168.1.8:3306/db/user'; 
注意:ENGINE=FEDERATED,使用federated引擎,修改用户名,密码,地址,端口号,数据库,表

这样就可以将远程的user表数据实时映射到hn_user表中,实现mysql跨服务器查询数据。

  • 5
    点赞
  • 40
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
MySQL中,数据查询是指在一个查询语句中同时涉及多个数据的表进行关联查询数据查询可以分为同服务器查询不同服务器查询。 对于同服务器查询,可以直接在关联查询的时候带上数据名,使用以下SQL语句进行查询: SELECT * FROM 数据1.table1 x JOIN 数据2.table2 y ON x.field1=y.field2; 其中,数据1和数据2分别表示需要查询的两个数据的名称,table1和table2分别表示需要查询的两个表的名称,x和y表示表的别名,field1和field2表示需要进行关联的字段。 而对于不同服务器查询,在MySQL中可以使用federated引擎来实现federated引擎可以在一个MySQL服务器上创建一个虚拟表,通过这个虚拟表可以访问其他服务器上的数据表。具体的查询过程如下: 1. 在需要进行查询MySQL服务器上,使用CREATE SERVER语句创建一个与其他服务器的连接。 2. 使用CREATE TABLE语句创建一个基于federated引擎的虚拟表,指定需要查询数据表所在的服务器数据。 3. 使用SELECT语句通过虚拟表进行查询,就像查询本地表一样。 通过以上步骤,就可以实现不同服务器查询。需要注意的是,为了使用federated引擎,需要在MySQL服务器的配置文件中启用该引擎。 总而言之,MySQL中的数据查询可以通过在同一服务器上直接进行关联查询或者使用federated引擎实现不同服务器之间的数据查询。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* *3* [MySQL查询](https://blog.csdn.net/zhuimeng2023/article/details/123836096)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 100%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值