MySQL不同服务器上的两个表进行关联
程序员文章站
2024-03-08 15:59:10
...
MySQL不同服务器上的两个表进行关联
一、首先不在一个服务器上的两个表无法直接关联
举例:
情景描述:
数据库A 中有一张 point_log 表,表中 member_id 为 用户id,数据库A 在 a服务器 中;
数据库B 中有一张 member 表,表中 member_id 为 用户id,数据库B 在 b服务器 中;
需要关联point_log表和member表,找出每个用户的point记录
结论:
两张表无法直接使用 leftjoin
二、曲线救国
- MySQL映射表
federated引擎
- 查看服务器安装的MySQL是否安装了federated引擎
show engines;
如上图所示: FEDERATED 为 NO,表示安装了该引擎,但是没有启动
三、启动FEDERATED 引擎
-
修改MySQL的配置文件–这里以window系统为例
说明: 本地环境使用PHPstudy搭建 -
修改my.ini文件
-
查找自己的my.ini文件
找到mysql的数据存放路径,会找到相应的my.ini文件 -
重启mysql
四、建立映射表
- 在point_log所在的服务器中新建数据库,为了不污染原有的数据
CREATE DATABASE test;
- 在新建的数据库中创建member表的映射
CREATE TABLE `member` (
`member_id` varchar(22) NOT NULL,
) ENGINE=FEDERATED
CONNECTION='mysql://root:aaa@qq.com表的服务器地址:3306/bdname/member';
五、使用关联查询
- 关联查询和平时一样,只不过是在member表前加上了表的数据库名
SELECT * FROM `point_log` LEFT JOIN `test`.`member` ON `test`.`member`.`member_id` = `point_log`.`member_id`;
上一篇: mysql中SQL语句查询表字段名、注释、字段类型
下一篇: 1.用Java实现菱形星塔
推荐阅读
-
MySQL不同服务器上的两个表进行关联
-
在windows上安装不同(两个)版本的Mysql数据库的教程详解
-
mysql 两个数据库中表的结构不同,怎么把一个表中的数据导入到另一个表中
-
sqlserver 多表查询不同数据库服务器上的表
-
两个不同表之间的字段如何关联插入
-
mysql 两个数据库中表的结构不同,怎么把一个表中的数据导入到另一个表中
-
mysql-请问数据库表中可以在一个表里面有两个关联同一个表的外键吗?
-
MySQL 左关联查询中两个以上数据表查询时,怎么得到唯一匹配的数据
-
PHP 应用session对两个不同的服务器网站进行同步登录
-
mysql 两个数据库中表的结构不同,如何把一个表中的数据导入到另一个表中