mysql跨服务器操作系统_MYSQL跨服务器操作数据库表

因为牵扯到两台服务器之间,相互核对数据。所以找了些研究了下这个技术。技术分享

在另一片文章中,内容是说主从服务器配置, 这个有个局限就是会自动同步数据,不可控!

以下为配置过程步骤:

/******************************

(1) 配置 federated引擎表

****************************/

执行以下命令

mysql->show engines;

+------------+--------+

| Engine | Support |

+------------+--------+

| FEDERATED | NO |

#显示为上述结果,说明有引擎,但是没有开启;

需要在my.ini中、[mysqld]下添加一行:federated

重启Mysql,完成。

× 如果没有出现结果, 就是没有federated引擎。具体方法没有研究过

(2)以下是配置同步表

//远程表格式 (ip 192.168.1.2) 即有数据的实体表结构

use test;

CREATE TABLE `tab` (

`id` int(11) NOT NULL AUTO_INCREMENT,

`a` varchar(32) DEFAULT NULL,

`b` varchar(32) DEFAULT NULL,

PRIMARY KEY (`id`)

) ENGINE=MyISAM AUTO_INCREMENT=41  DEFAULT CHARSET=gbk

(3)//本地创建对应的远程虚拟表,实际里面没有数据,这个表的作用就是用来在本地查询远程表中的数据

表结构需要一致,表名和数据库名称没有特殊要求;

注意:ENGINE=federated

use test_1;  (ip:192.168.1.1)

CREATE TABLE `tab1` (

`id` int(11) NOT NULL AUTO_INCREMENT,

`a` varchar(32) DEFAULT NULL,

`b` varchar(32) DEFAULT NULL,

PRIMARY KEY (`id`)

) ENGINE=federated DEFAULT CHARSET=gbk connection="mysql://用户名:密码@192.168.1.2:3306/test/tab";

//用户名:密码@远程地址:端口/数据库/表名

配置完成后,可以在本地测试,比如查询(select)或者insert

一些注意事项: 1. 对本地虚拟表的结构修改,并不会修改远程表的结构 2.  truncate 命令,会清除远程表数据 3.  drop命令只会删除虚拟表,并不会删除远程表 4.  不支持 alter table 命令

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值