博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
mysql 跨机器查询,使用dblink
阅读量:4068 次
发布时间:2019-05-25

本文共 805 字,大约阅读时间需要 2 分钟。

有的时候业务场景需要使用跨机器跨库查询,这时候就想到了mysql有没有类似oracle 的dblink的功能,答案当然是肯定了,下面就简单介绍在mysql 下如何使用dblink,

首先目标库需要支撑FEDERATED

安装federated插件:

mysql>install plugin federated soname ‘ha_federated.so’;

ERROR 1125 (HY000): Function ‘federated’ already exists

说明已经安装过了,但没有启用

只需要在my.cnf 下添加 federated 然后重启数据库即可:

下面就是创建dblink,

有2种方式,

方式一:

CREATE TABLE `test` (  `id` int(11) DEFAULT NULL) ENGINE=FEDERATED CONNECTION='mysql://用户名:密码@IP:端口/数据库/表名'

但有的时候我们的密码会包含一些特殊字符串,比如@,则会报错:is not in the correct format

那么这时候就想到另外一个方法:

方法二:

首先创建Federated Server

CREATE SERVER `Federated `FOREIGN DATA WRAPPER mysqlOPTIONS (  HOST 'IP地址',  PORT 端口,  USER '用户名',  PASSWORD '密码',  DATABASE '数据库');

接下来使用刚才创建的server 来创建dblink

CREATE TABLE `test` (  `id` int(11) DEFAULT NULL) ENGINE=FEDERATED CONNECTION ='Federated/test';

这时候就可以查询在目标端查询源端的test的表了

转载地址:http://qzhji.baihongyu.com/

你可能感兴趣的文章
platform_driver平台驱动注册和注销过程(下)
查看>>
.net强制退出主窗口的方法——Application.Exit()方法和Environment.Exit(0)方法
查看>>
c# 如何调用win8自带的屏幕键盘(非osk.exe)
查看>>
build/envsetup.sh 简介
查看>>
C++后继有人——D语言
查看>>
Android framework中修改或者添加资源无变化或编译不通过问题详解
查看>>
linux怎么切换到root里面?
查看>>
linux串口操作及设置详解
查看>>
安装alien,DEB与RPM互换
查看>>
linux系统下怎么安装.deb文件?
查看>>
编译Android4.0源码时常见错误及解决办法
查看>>
Android 源码编译make的错误处理
查看>>
linux环境下C语言中sleep的问题
查看>>
ubuntu 12.04 安装 GMA3650驱动
查看>>
新版本的linux如何生成xorg.conf
查看>>
xorg.conf的编写
查看>>
启用SELinux时遇到的问题
查看>>
virbr0 虚拟网卡卸载方法
查看>>
No devices detected. Fatal server error: no screens found
查看>>
新版本的linux如何生成xorg.conf
查看>>