MYSQL跨服务器操作数据库表
2014-03-20 16:28
141 查看
因为牵扯到两台服务器之间,相互核对数据。所以找了些研究了下这个技术。技术分享
在另一片文章中,内容是说主从服务器配置, 这个有个局限就是会自动同步数据,不可控!
以下为配置过程步骤:
/******************************
(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 命令
在另一片文章中,内容是说主从服务器配置, 这个有个局限就是会自动同步数据,不可控!
以下为配置过程步骤:
/******************************
(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 命令
相关文章推荐
- 虚拟机linux或服务器操作数据库Mysql命令
- MySQL服务器学习笔记!(二) ——数据库各项操作
- MySQL服务器学习笔记!(二) ——数据库各项操作
- C/C++操作 mysql 数据库
- 【转】MYSQL 存储过程定时操作数据库
- c#下各种数据库操作的封装!(支持ACCESS,SQLSERVER,DB2,ORACLE,MYSQL)(一)
- MySQL操作及数据库导入导出
- MySQL 数据库入门操作
- thinkphp中的内置操作数据库与mysql中的函数汇总
- mysql5.5.42指定数据库同步操作
- 不同服务器数据库之间的数据操作
- MySql基础之数据库简介及mysql系统级操作和基础语法
- 【经典】c#下各种数据库操作的封装!(支持ACCESS,SQLSERVER,DB2,ORACLE,MYSQL)
- MySQL深入01-SQL语言-数据字典-服务器变量-数据操作DML-视图
- MySQL 操作数据库(四)
- 单机游戏数据库探讨(MySQL嵌入式服务器的使用)(未完)
- php操作mysql--连接数据库 创建表 填充表
- Mysql 数据库基本操作总结
- mysql 用户、数据库及表的管理、操作与授权
- MySQL学习笔记2:数据库的基本操作(创建删除查看)