MySQL跨服务器查询

2023-05-16

跨库查询

同服务器下跨数据库进行查询在表前加上数据库名就可以查询到数据。

跨服务查询

mysql跨服务器进行查询提供了FEDERATED引擎进行映射表,然后进行查询。mysql数据库federated引擎是默认关闭的,需要先启用该引擎。

检查federated引擎是否开启

mysql执行show engines命令查看引擎状态。

show engines

在这里插入图片描述
FEDERATE的Support为NO,我们需要把这个引擎启用
修改mysql的my.ini文件,windows系统的在Mysql安装路径下的data文件夹里,可以使用Everything工具检索这个文件

修改mysql的my.ini文件

在这里插入图片描述
[mysqld]下加上federated

重启MySQL服务

打开服务表,重启MySQL服务
在这里插入图片描述
federated引擎是否开启
在这里插入图片描述

建立目标库的映射表

跨服务器查询,我们可以把其中一个服务器的库最为源,以另外一个库为目标库,在源库上建立目标库的表。

例如:我要在本地库查询线上服务器的库表my_config在这里插入图片描述
在本地库开启SQL连接,执行SQL:

CREATE TABLE `my_config_ref` (
  `id` BIGINT(20) NOT NULL,
  `config_key` varchar(150) DEFAULT NULL,
  `config_value` varchar(255) DEFAULT NULL,
  `role_id` varchar(40) DEFAULT NULL,
  `remark` bigint(255) DEFAULT NULL,
  PRIMARY KEY (`id`)
) ENGINE=FEDERATED CONNECTION='mysql://账号:密码@另外一个服务器的ip地址:端口号/数据库名/表名';

执行完该SQL后,就在本地库建立了一张名为my_config_ref的映射表,对该表的CRUD操作都会直接影响到另外一台服务器的my_config

PS

当远程服务器的数据库的密码包含符号或者其他特殊符号时,可能会报下面的错误:

CREATE TABLE my_config_ref (
id BIGINT(20) NOT NULL,
config_key varchar(150) DEFAULT NULL,
config_value varchar(255) DEFAULT NULL,
role_id varchar(40) DEFAULT NULL,
remark bigint(255) DEFAULT NULL,
PRIMARY KEY (id)
) ENGINE=FEDERATED CONNECTION=‘mysql://123:“123rrr@.”@10.22.32.33:3306/gdcwpt/my_config’
1432 - Can’t create federated table. The data source connection string ‘mysql://123:“123rrr@.”@10.22.32.33:3306/gdcwpt/my_config’ is not in the correct format
时间: 0.008s
在这里插入图片描述

解决方式有两种:

  1. 改密码(简单、快捷、高效)
  2. 通过使用CREATE SERVER创建FEDERATED表(一般来说,服务器的数据库密码是不能随便改的)
CREATE SERVER fedlink
FOREIGN DATA WRAPPER mysql
OPTIONS (USER '123', PASSWORD '123rrr@.',HOST '10.22.32.33', PORT 3306, DATABASE 'gdcwpt');

CREATE TABLE `my_config_ref` (
  `id` BIGINT(20) NOT NULL,
  `config_key` varchar(150) DEFAULT NULL,
  `config_value` varchar(255) DEFAULT NULL,
  `role_id` varchar(40) DEFAULT NULL,
  `remark` bigint(255) DEFAULT NULL,
  PRIMARY KEY (`id`)
) ENGINE=FEDERATED CONNECTION='fedlink/my_config';

通过 SERVER fedlink做一个中转

注意

在mysql中创建远程服务器数据库中的需要映射的表,映射表名称可以随意命名,但是数据结构必要一样

这种方式效率低下,只能临时用来应急,不能长久

通过这种方式对远程服务器的库表执行DML语句都是不走事务的

如果需要使用多张远程服务器数据库的表,就需要建立对应数量的映射表

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

MySQL跨服务器查询 的相关文章

  • 如何根据条件删除结果以计算平均值

    我有下面的架构 对其的快速解释是 鲍勃评分为 5 5 詹姆斯评分 1 5 梅西百货评分高达 5 5 逻辑 如果我是 A 请查找我屏蔽的所有人 查阅所有电影评论 任何留下电影评论且 personA 已屏蔽的人 请将其从计算中删除 计算电影的平
  • 在 MySQL 中执行触发器需要什么权限?

    我发现 MySQL 手册中对 DEFINER 的解释令人困惑 因此我不确定运行应用程序的 执行用户 需要什么权限 为了安全起见 我喜欢将 执行用户 限制为所需的最少权限 我知道触发器 存储过程的创建者需要超级权限 但是 执行用户 是否也需要
  • R:ifelse 中的字符串列表

    我正在寻找与 MySQL 中的 where var in 语句类似的东西 我的代码如下 data lt data frame id 10001 10030 cc1 rep c a b c 10 attach data data new lt
  • PHP,文本从数据库中回显,没有换行,全部一体

    我的数据库中有一个长文本 从 php mayadmin 来看它看起来很好 但是当我将它回显到页面时 它会丢失所有格式 即没有新行 全部都在一个块中 有任何想法吗 Thanks 可能是因为换行符是 n 并且 html 想要 br 所以使用nl
  • 使用 md5 加密的 PHP 和 Mysql 查询出现问题

    我使用普通的 php mysql 插入查询并使用 md5 加密密码 这是插入查询 sql mysql query INSERT INTO user username password role approved values usernam
  • 我应该使用平面表还是标准化数据库?

    我目前正在开发一个使用 MySQL 数据库作为后端的 Web 应用程序 在继续下一步之前 我需要知道什么更适合我的情况 简而言之 在这个应用程序中 用户将能够使用任何数字字段 他们决定 构建自己的表单 现在我将其全部存储在通过外键链接的几个
  • 是否可以将新表和旧表从触发器传递到 MySQL 中的过程中?

    是否可以将新表和旧表从触发器传递到 MySQL 中的过程中 我怀疑不会 因为没有过程接受的表这样的数据类型 有什么可能的解决方法吗 理想情况下它看起来像这样 CREATE TRIGGER Product log AFTER UPDATE O
  • 自动删除主键序列中的间隙

    我正在创建一个网页 该网页根据用户操作将数据存储到 MySQL 数据库中 数据库有很多行 行的主键是列 rowID 它只是按顺序对行进行编号 例如 1 2 3 4 用户可以选择删除行 问题是当用户删除最后一行以外的行时 rowID 中有一个
  • 将 MySQL 结果作为 PHP 数组

    mysql 表 config name config value allow autologin 1 allow md5 0 当前的 php 代码 sth mysql query SELECT rows array while r mysq
  • 尝试在 React 应用程序中连接到 MySQL 数据库时,无法读取未定义的属性(读取“查询”)错误

    我正在尝试连接到 MySQL 数据库并在单击按钮后在 React 应用程序中运行查询 一些它如何给出错误 我当前的代码如下所示 import mysql from mysql function App async function sync
  • MySQL - 选择一行 - 然后相对于所选行的下一个和上一个

    我会尽力澄清这一点 我需要在不使用 id 的情况下选择特定行和该选定行的前一个相对行以及该选定行的下一个相对行 这可能吗 简而言之 上一篇和下一篇 我不能 也许我只是不知道如何 使用 id 的原因是因为它们不是按顺序排列的 正如您从这个相当
  • 如何使用wireshark清晰捕获mysql查询sql

    因为我们使用远程开发Mysql服务器 所以不能轻易检查查询sql 如果使用本地服务器可以tail f general log file查看调用某个http接口时执行了哪些sql 所以我安装了一个wireshark捕获这些从本地发送的查询sq
  • PHP使用auto_increment生成短唯一ID?

    我想生成一个简短的 唯一的 ID 而不必检查冲突 我目前正在做类似的事情 但是我当前生成的 ID 是随机的 并且在循环中检查冲突很烦人 并且如果记录数量显着增加 将会变得昂贵 通常担心冲突不是问题 但我想要生成的唯一 ID 是一个由 5 8
  • MySQL Python 关于重复键更新值

    我正在研究使用 python 将 JSON 数据上传到 MySQL 我需要在插入语句中包含 ON DUPLICATE KEY UPDATE VALUES 但在 Python 中遇到了问题 如果我运行以下代码 一切正常 import json
  • 从 Grib 天气模型中提取数据

    我已经下载了grib1模型数据来自GFS http en wikipedia org wiki Global Forecast System 我使用的是 Mac OS X 并且能够构建wgrib2文件来自NOAA http en wikip
  • 加载数据infile,Windows和Linux的区别

    我有一个需要导入到 MySQL 表的文件 这是我的命令 LOAD DATA LOCAL INFILE C test csv INTO TABLE logs fields terminated by LINES terminated BY n
  • AWS RDS MySql - 如何在设置“公开可用”后允许访问

    刚刚使用默认设置和用户 密码创建了新的 AWS RDS MySql 实例 我也将其设置为publicly available并在此过程中创建新的 VPC 目前无法从我的笔记本电脑连接到此 RDS mysql h endpoint u myu
  • 使用连接池后如何处理过多的并发连接?

    Scenario 假设您有一个拥有大量流量的网站或应用程序 即使使用数据库连接池 性能也会受到真正的打击 站点 应用程序甚至可能崩溃 因为并发连接太多 Question 人们有什么选择来处理这个问题 我的想法 我在想有这个问题的人可以创建多
  • MySQL 左连接 WHERE table2.field = "X"

    我有以下表格 pages Field Type Null Key Default Extra page id int 11 NO PRI NULL auto increment type varchar 20 NO NULL
  • mysql-connector-c++ - “get_driver_instance”不是“sql::mysql”的成员

    我是 C 的初学者 我认为学习的唯一方法就是接触一些代码 我正在尝试构建一个连接到 mysql 数据库的程序 我在 Linux 上使用 g 没有想法 我运行 make 这是我的错误 hello cpp 38 error get driver

随机推荐

  • 华为服务器WebBios创建磁盘阵列

    步骤 1 启动服务器按ctrl 43 h进入WebBios 2 点击Start确定进入下一步 3 左栏的Configuration Wizard添加raid 4 选New Configuration新建raid即可 5 选中硬盘 然后再按N
  • goland 无法编译输出 Compilation finished with exit code 0

    golang编写程序无法输出
  • 分享关于AI的那些事儿

    机器人很厉害 给人治病的ibm 的Watson 沃森 击败世界围棋冠军的AlphaGo阿尔法狗 陪你聊天的机器人 数据标注 木马识别 恶意访问拦截 智能家居 但是17年首次出现了机器人获得国籍 这个机器人叫做索菲亚 这是一个类似人类的机器人
  • String Evolver, My First Genetic Algorithm

    When reading Evolutionary Computation for Modeling and Optimization 1 I found following problem in section 1 2 3 A strin
  • MongoDB特点及功能介绍

    一 MongoDB 介绍 1 基本概念 MongoDB是一个高性能 xff0c 开源 xff0c 无模式的文档型数据库 xff0c 是当前NoSQL数据库产品中最热门的一种 它在许多场景下可用于替代传统的关系型数据库或键 值存储方式 xff
  • 线程同步以及线程调度相关的方法

    wait xff1a 使一个线程处于等待 xff08 阻塞 xff09 状态 xff0c 并且释放所持有的对象的锁 xff1b sleep xff1a 使一个正在运行的线程处于睡眠状态 xff0c 是一个静态方法 xff0c 调用此方法要处
  • 智能医疗辅助诊断——调查与思考

    背景 为什么要做智能医疗 xff1f 优质医疗资源不足且增长缓慢各地方医疗资源分配不均客观条件满足 xff0c 人工智能技术发展 xff0c 算法 算力 数据齐备 目录 指出 xff0c 医用软件按照预期用途分为辅助诊断类和治疗类 诊断功能
  • WebMvcConfigurer配置HandlerInterceptor拦截器失效

    1 前言 Springboot2 0之前 xff0c 实现拦截器功能的配置类是通过继承 extends WebMvcConfigurerAdapter类完成的 xff0c 最近项目把Springboot升级到了Springboot2 X x
  • ubuntu deepin wechat中文乱码解决

    deepin wechat 中文乱码解决方案 方案一 执行以下命令打开文件 gedit opt deepinwine tools run sh 找到WINE CMD 修改为 WINE CMD span class token operato
  • 使用k-近邻算法识别手写数字

    本文摘自 机器学习实战 案例 xff0c 对其进行了代码更新与注释 实战介绍 使用k 近邻分类器构造手写识别系统 xff0c 为了简单起见 xff0c 系统只识别0 9 xff0c 需要识别的数字已经使用图形处理软件 xff0c 处理成具有
  • Android开发:Fragment中优雅使用ViewBinding【Java】

    目录 前言 官网示例 封装 前言 ViewBinding可以帮助我们减少代码中的大部分findViewById xff0c 官网中提到了它的优点和缺点 xff1a Null 安全 xff1a 由于视图绑定会创建对视图的直接引用 xff0c
  • c++ 读取UTF-8编码文本

    这个是苏州大学一个有关NLP的选修课的第一个作业 xff0c 刚开始有点摸不着头脑 xff0c 随着慢慢接触有点理解了老师的用心 任务是给定一个给一段汉语文本 xff0c 将文本切分开为单个character xff0c 并在charact
  • 一次完整的http请求全过程(知识体系版)

    最差的面试体验 面试官评价 xff1a 除了学历 xff0c 和培训班出来的没区别 确实 xff0c 很多东西我只是会用 面完回来 xff0c 我发现我确实连一个完整的http请求如何发送都不明白 失败并不可怕 但是一定得把失败的悲痛化成力
  • python 根据网易云歌曲的ID 直接下载歌曲

    特么的 xff0c xff0c xff0c 上次写了一堆 xff0c 发现 xff0c 原来下载网易云的歌曲根本不用这么费劲 xff0c xff0c 直接用 http music 163 com song media outer url i
  • The POM for commons-codec:commons-codec:jar:1.15-SNAPSHOT is missing

    问题描述 Maven打包的时候常常报异常 The POM for commons codec commons codec jar 1 15 SNAPSHOT is missing no dependency information avai
  • python 用pyinstaller打包多进程multiprocessing、tkinter scrapy爬取豆瓣TOP250部电影信息

    参考文章 xff1a https blog csdn net La vie est belle article details 79017358 https blog csdn net weixin 42052836 article det
  • SSM --Spring 第一天

    1 spring概述 1 1 Spring是什么 xff08 理解 xff09 Spring是分层的 Java SE EE应用 full stack 全栈的 xff0c 什么都会的 xff0c 管家的 轻量级开源框架 xff0c 以 IoC
  • springboot项目中日志SLF4J相关的错误 multiple SLF4J bindings

    1 问题描述 控制台中可以正常运行 xff0c 不会报如下错误 xff0c 但打成jar包会显示错误 xff0c 如下 xff1a C span class token operator span Users span class toke
  • 数据库连接正常,但是无法从数据库中读取数据

    数据库连接正常 xff0c 但是无法从数据库中读取数据 在给别人写个java小课程设计碰到的一个问题 xff0c 在我这里运行的好好的 xff0c 到他那就出现 xff1a 当数据连接正常 xff0c 但是sql语句访问数据的时候 xff0
  • MySQL跨服务器查询

    跨库查询 同服务器下跨数据库进行查询在表前加上数据库名就可以查询到数据 跨服务查询 mysql跨服务器进行查询提供了FEDERATED引擎进行映射表 xff0c 然后进行查询 mysql数据库federated引擎是默认关闭的 xff0c