【MYSQL 连接两个不同服务器的表】

一、FEDERATED引擎

Ⅰ、开启federated引擎

找到配置文件 my.ini

运行下面的语句

show variables like 'datadir';

在这里插入图片描述
一般配置文件在Data的同一级。
打开配置文件,在[mysqld]新增一行federated。
*是mysqld不是mysql
注意:是mysqld不是mysql;

Ⅱ、查看引擎是否开启

sql命令:show engines;

在这里插入图片描述

Ⅲ、创建表

比如:A服务器上的thing表要和B服务器上的test表进行连接查询
A服务器中创建test表。

DROP TABLE IF EXISTS `test`;
CREATE TABLE `test`  (
  字段
) ENGINE = FEDERATED 
CONNECTION='mysql://数据库用户名:密码@地址:端口/数据库名/要映射的表名';

Ⅳ、查询

select * from test left join thing on test.id = thing.test_id;

Ⅴ、注意事项

  1. 使用FEDERATED存储引擎的表,本地只存储表的结构信息,数据都存放在远程数据库上,查询时通过建表时指定的连接符去获取远程库的数据返回到本地。
  2. FEDERATED表不支持事务。
  3. 本地FEDERATED表无法知道远程库中表结构的改变。
  4. FEDERATED表不支持ALTER TABLE语句或者任何DDL语句。
  5. 被复制的表不能新增字段
  6. 远程的表密码不能包含@,下篇文章有解决方案。
    官方文档: http://dev.mysql.com/doc/refman/5.7/en/federated-usagenotes.html
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
对于跨服务器克隆,您需要先将源服务器上的虚拟机导出,然后将导出的虚拟机镜像文件传输到目标服务器,并在目标服务器上导入该镜像文件。下面是一个大致的步骤: 1. 在源服务器上导出虚拟机: - 使用 `virt-clone` 命令创建虚拟机的克隆。例如:`virt-clone --original <原始虚拟机名称> --name <新虚拟机名称> --file <导出镜像路径>` - 将克隆的虚拟机导出为一个镜像文件。例如:`virsh dumpxml <新虚拟机名称> > <导出配置文件路径>`,这将导出虚拟机的配置文件。 - 使用 `virt-xml-validate` 命令验证导出的配置文件是否有效。 2. 将导出的虚拟机镜像文件传输到目标服务器: - 使用 SCP、rsync 或其他文件传输工具将导出的虚拟机镜像文件和配置文件从源服务器复制到目标服务器。 3. 在目标服务器上导入虚拟机: - 使用 `virt-define` 命令定义新的虚拟机。例如:`virt-define <导出配置文件路径>` - 使用 `virt-install` 命令安装虚拟机。例如:`virt-install --import --name <新虚拟机名称> --disk <导出镜像路径> --ram <内存大小> --vcpus <虚拟CPU数量> --network <网络配置>` 请注意,以上步骤仅提供了一个大致的指导,实际操作可能因您的环境和需求而有所不同。在执行这些步骤之前,请确保您已经备份了重要数据,并对操作有一定的了解。 希望这可以帮助到您!如果您还有其他问题,请随时提问。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值