本地MySQL数据库要访问远程MySQL数据库的表中的数据的实现
2013-08-10 11:21
344 查看
1.实现基本思路:借助 mysql的 federated 存储引擎实现
federated 存储引擎简单介绍 :federated 是其中一个专门针对远程数据库的实现。一般情况下在本地数据库中建表会在数据库目录中生成相应的表定义文件,并同时生成相应的数据文件。 但通过federated 引擎创建的表只是在本地有表定义文件,数据文件则存在于远程数据库中
2.查看当前数据库服务是否支持 federated引擎 ,使用命令“ show engines ”命令查看 ,如下图:
"show engines "命令展示结果,简单介绍 :
第一列 :名称为 Engine,表示 存储引擎名称
第二列 :Support,表示当前数据库服务是否支持所对应的存储引擎 ,一般情况 Support有以下几个值:
有上图可以看出,当前数据库服务不支持federated引擎 ,需要手动配置使 当前数据库服务支持federated引擎
3.配置federated数据库存储引擎 :
(1)windows 系统配置 :
windows下在my.ini中加入federated,重新启动数据库服务即可开启;
(2)linux系统配置:
在my.cnf文件中的mysqld选项中配置 federated ,重新启动数据库服务即可开启;
4.配置数据库远程访问数据:
(1)实用show engines 命令检查数据库是否已经支持federated引擎
(2) 远程数据库表结构
(3) 给远程数据库服务添加一条数据库登录用户信息 ,信息如下 :
(4) 本地数据库表结构如下 :
配置完成了,可以进行测试了 。
5.配置过程中应注意问题 :
(1)首先要保证数据库服务支持 fedetated存储引擎
(2)本地访问远程数据库配置 :远程服务器中需要添加一个访问数据库表的数据库用户,本地数据库服务中 数据库表结构和远程访问目标数据库表基本一致,只是存储引擎必须为 federated,并需要给其配置connection属性
(3)此例中只是配置本地访问远程数据库的单向配置,如果需要配置双向访问,需要将本地与远程配置兑换,再次配置异常(没有试验,根据之前的ORACLE DB_link 配置猜测)
备注(参数简单介绍) :
192.85.1.113 :本地数据库服务IP地址
192.85.1.9 :远程数据库无法IP地址
hrkip: 远程数据名称
federated 存储引擎简单介绍 :federated 是其中一个专门针对远程数据库的实现。一般情况下在本地数据库中建表会在数据库目录中生成相应的表定义文件,并同时生成相应的数据文件。 但通过federated 引擎创建的表只是在本地有表定义文件,数据文件则存在于远程数据库中
2.查看当前数据库服务是否支持 federated引擎 ,使用命令“ show engines ”命令查看 ,如下图:
"show engines "命令展示结果,简单介绍 :
第一列 :名称为 Engine,表示 存储引擎名称
第二列 :Support,表示当前数据库服务是否支持所对应的存储引擎 ,一般情况 Support有以下几个值:
YES | 支持并开启 |
DEFAULT | 支持并开启, 并且为默认引擎 |
NO | 不支持 |
DISABLED | 支持,但未开启 |
3.配置federated数据库存储引擎 :
(1)windows 系统配置 :
windows下在my.ini中加入federated,重新启动数据库服务即可开启;
(2)linux系统配置:
在my.cnf文件中的mysqld选项中配置 federated ,重新启动数据库服务即可开启;
4.配置数据库远程访问数据:
(1)实用show engines 命令检查数据库是否已经支持federated引擎
(2) 远程数据库表结构
CREATE TABLE IF NOT EXISTS `isa_ywxx` ( `ywid` int(11) NOT NULL auto_increment COMMENT '主键自动增长', `ywbh` varchar(10) NOT NULL COMMENT '业务编号', `ywmc` varchar(20) NOT NULL COMMENT '业务名称', `ywbz` varchar(30) default NULL COMMENT '备注信息', PRIMARY KEY (`ywid`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='业务信息表' AUTO_INCREMENT=4 ; -- -- 转存表中的数据 `isa_ywxx` -- INSERT INTO `isa_ywxx` (`ywid`, `ywbh`, `ywmc`, `ywbz`) VALUES (1, '01', '综合业务', '综合业务'), (2, '02', '对公业务', '对公业务'), (3, '03', 'VIP业务', 'VIP业务');
(3) 给远程数据库服务添加一条数据库登录用户信息 ,信息如下 :
grant select on hrkip.isa_ywxx to jenminzhang@'192.85.1.113' identified by 'jenminzhang';
(4) 本地数据库表结构如下 :
CREATE TABLE IF NOT EXISTS `isa_ywxx` ( `ywid` int(11) NOT NULL auto_increment COMMENT '主键自动增长', `ywbh` varchar(10) NOT NULL COMMENT '业务编号', `ywmc` varchar(20) NOT NULL COMMENT '业务名称', `ywbz` varchar(30) default NULL COMMENT '备注信息', PRIMARY KEY (`ywid`) ) ENGINE=FEDERATED CHARSET=utf8 CONNECTION='mysql://jenminzhang:jenminzhang@192.85.1.9:3306/hrkip/isa_ywxx';
配置完成了,可以进行测试了 。
5.配置过程中应注意问题 :
(1)首先要保证数据库服务支持 fedetated存储引擎
(2)本地访问远程数据库配置 :远程服务器中需要添加一个访问数据库表的数据库用户,本地数据库服务中 数据库表结构和远程访问目标数据库表基本一致,只是存储引擎必须为 federated,并需要给其配置connection属性
(3)此例中只是配置本地访问远程数据库的单向配置,如果需要配置双向访问,需要将本地与远程配置兑换,再次配置异常(没有试验,根据之前的ORACLE DB_link 配置猜测)
备注(参数简单介绍) :
192.85.1.113 :本地数据库服务IP地址
192.85.1.9 :远程数据库无法IP地址
hrkip: 远程数据名称
相关文章推荐
- 本地MySQL数据库要访问远程MySQL数据库的表中的数据的实现
- 本地MySQL数据库要访问远程MySQL数据库的表中的数据的实现
- 本地MySQL数据库要访问远程MySQL数据库的表中的数据的实现
- java实现将远程数据ftp上传到本地,并存入到mysql数据库里
- Repid 多样化实现 WP7 本地数据访问
- 多样化实现Windows Phone 7本地数据访问<4>——Rapid Repository
- 多样化实现Windows Phone 7本地数据访问<4>——Rapid Repository
- Python3实现将本地JSON大数据文件写入MySQL数据库的方法
- python 远程连接MySQL数据库 拉取数据存至本地文件
- [原创+转载]在本地没有安装mysql数据库的情况下用c++代码实现连接远程mysql数据库
- 把远程MySQL数据库中的数据手工导入到本地MySQL数据库
- Git 将本地数据克隆到远程库的具体实现(09)
- C#实现不安装Oracle客户端访问远程服务器数据
- Navicat将远程MySql数据库数据导入本地
- mysql数据库实现远程访问
- SQL语句实现跨Sql server数据库操作实例 - 查询远程SQL,本地SQL数据库与远程SQL的数据传递
- 实现远程访问MySql数据库
- 在本地如何使用phpMyAdmin访问远程Linux上MySQL数据库
- C#实现不安装Oracle客户端访问远程服务器数据
- Navicat将远程MySql数据库数据导入本地