请问mysql如何实现跨服务器查询

如题,在my.ini中添加federated的方式试了,不行,不知道是不是我操作问题。谢谢。

image.png

image.png

FineReport 良月二三 发布于 2023-9-4 10:17 (编辑于 2023-9-4 10:51)
1min目标场景问卷 立即参与
回答问题
悬赏:3 F币 + 添加悬赏
提示:增加悬赏、完善问题、追问等操作,可使您的问题被置顶,并向所有关注者发送通知
共2回答
最佳回答
0
坚定的小帆薯Lv7高级互助
发布于2023-9-4 10:20(编辑于 2023-9-4 10:23)

配置服务器链接进行跨服务器查询没搞过

一般都是通过

①中间数仓

②跨数据库查询,帆软页面进行处理搞得

可以参考百度搞

如何实现mysql远程跨库联合查询-mysql教程-PHP中文网  https://www.php.cn/faq/554138.html

  • 良月二三 良月二三(提问者) 你好,这个方式你试过吗,为什么我my.ini配置了,但是这个还是no,我上传了图片。
    2023-09-04 10:52 
最佳回答
0
用户k6280494Lv6资深互助
发布于2023-9-4 10:32(编辑于 2023-9-4 10:35)

写个接口,然后用json插件

要在MySQL中实现跨服务器查询,可以使用MySQL的Federated表功能。Federated表允许您从远程MySQL服务器查询数据,并将结果返回给本地MySQL服务器。

以下是使用Federated表实现跨服务器查询的一般步骤:

  1. 确保您的MySQL服务器支持Federated表功能。您可以通过运行以下命令来检查是否已启用Federated表功能:

sql复制代码

SHOW VARIABLES LIKE 'federated%';
  1. 在本地MySQL服务器上创建一个Federated表。该表需要指定要查询的远程服务器和要查询的表。例如,假设您要查询名为remote_table的表,该表位于IP地址为remote_server_ip的远程服务器上,可以使用以下命令创建Federated表:

sql复制代码

CREATE TABLE federated_table (
-- column definitions  
)
ENGINE=FEDERATED
CONNECTION='mysql://username:password@remote_server_ip:3306/remote_database_name/remote_table';

请注意,username和password是远程MySQL服务器的用户名和密码,remote_server_ip是远程服务器的IP地址,remote_database_name是远程表的数据库名称,remote_table是远程表的名称。3. 在Federated表上执行查询。一旦创建了Federated表,您可以在本地MySQL服务器上使用常规SELECT语句查询Federated表。例如:

sql复制代码

SELECT * FROM federated_table;

这将从远程服务器查询数据,并将结果返回给本地MySQL服务器。

请注意,Federated表功能可能存在一些限制和性能问题。在使用Federated表之前,请确保了解其局限性,并测试其在您的特定情况下是否有效。

  • 良月二三 良月二三(提问者) 你好,这个方式你试过吗,为什么我my.ini配置了,但是这个还是no,我上传了图片。
    2023-09-04 10:52 
  • 用户k6280494 用户k6280494 回复 良月二三(提问者) 没试过,这个是百度方案
    2023-09-04 11:00 
  • 3关注人数
  • 276浏览人数
  • 最后回答于:2023-9-4 10:51
    请选择关闭问题的原因
    确定 取消
    返回顶部