多服务器mysql数据库如何联合查询?
阿神
阿神 2017-04-17 11:59:26
[MySQL讨论组]

因为数据库渐渐有点大,所以想实现多服务器多数据库部署,那么问题来了,以前同在一个服务器一个数据库中,可以left join查询,现在该怎么查询呢?
例如
192.168.1.11 db1.user(id,name,email) 为用户主表
192.168.1.12 db2.user_track(id,user_id,create_at) 为用户详细的点击访问跟踪记录

如何能在192.168.1.12上获取用户的姓名?

阿神
阿神

闭关修行中......

全部回复(3)
黄舟

那就不能用left join等联合查询了,可以有几种方式
一种是可以把联合查询分开多个子句,然后进行查询拼接;
另一种就是把相关连的表放在同一个database中
或者 可以在user_track中加一定的冗余字段name,这样也就可以直接获取到了,从而不用联合查询了

阿神

你这必要么?非搞两个数据库

伊谢尔伦

基于MySQL的federated引擎的建表方式。

建表语句示例:CREATE TABLE table_name(......) ENGINE =FEDERATED CONNECTION='mysql://[username]:[password]@[location]:[port]/[db-name]/[table-name]'

前提条件:你的mysql得支持federated引擎(执行show engines;可以看到是否支持)

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号