MySQL解决跨服务器访问数据库的问题

其实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

暂无

存储引擎无特殊要求

备注:
1、需要从【主机B:112】远程访问【主机A:24】上test库中表tbl_pinyin的数据;
2、建议数据库版本保持一致。

#分别查看主机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 条评论) “”
   
验证码:

相关文章

推荐文章