其实MySQL也是有类似Oracle里面dblink功能的,下面就将针对这一功能进行测试。我们先来看看MySQL有哪些存储引擎,MySQL常见的有10个存储引擎,在5.x.x以后我们常用的是InnoDB引擎。
图-1:Mysql 存储引擎
演示主机说明:
主机 | 用途 | 服务器IP | 版本 | 库名 | 表名 | 备注 |
A | 模拟生产库 | 192.168.10.24 | 5.7.17 | test | tbl_pinyin | 支持并开启FEDERATED存储引擎 |
B | 模拟前置库 | 192.168.10.112 | 5.7.17 | test | 暂无 | 存储引擎无特殊要求 |
备注: |
#分别查看主机A/B的Mysql版本
mysql> select VERSION();
#主机AB查看数据库引擎
show engines; #查看有无 FEDERATED,且Support为Yes
这里的FEDERATED存储引擎,就是我们说的dblink类似的功能,远程映射,或者类似透明网关。如果Support为No,则表示不支持该存储引擎,需要我们修改配置文件。
备注:我这里是支持的,因为FEDERATED存储引擎对应的Support为Yes
【主机A修改配置文件】:
1、 在/etc/my.cnf文件的[mysqld]节点下添加
[mysqld]
Federated
2、 重启
service mysqld restart
3、 查看是否成功
【数据验证】:
1、 在主机B:192.168.10.112的test库中并无tbl_pinyin表
2、 查看主机A:192.168.10.24的test库中tbl_pinyin表结构
3、 在主机B:192.168.10.112上创建对应表tbl_pinyin
4、 查看主机B:192.168.10.112的test库新创建的中tbl_pinyin表结构
5、 在主机B:192.168.10.112上查看test库中tbl_pinyin表数据
说明:与【数据验证】第1步进行比较,不会出现找不到表的问题了。
至此,Mysql跨服务器远程访问库表数据,配置成功。
留言与评论(共有 0 条评论) “” |