通过FEDERATED存储引擎同步两实例间的表数据

需求情景:实例1中A库中的三个视图是实例2中的B库所依赖的,B需要A库中三个视图的实时数据。

方案:通过FEDERATED来完成跨势力的查询
FEDERATED存储引擎表只会创建表结构,不会存储表数据,可以通过建表语句中的CONNECTION [=] ‘connect_string‘来指定访问远端数据的连接方式connect_string:
scheme://user_name[:password]@host_name[:port_num]/db_name/tbl_name
[http://dev.mysql.com/doc/refman/5.7/en/federated-create-connection.html](url)
测试实施:
1.本地环境:

[[email protected] ~]# uname -a
Linuxtest-01 2.6.32-431.el6.x86_64 #1 SMP Fri Nov 22 03:15:09 UTC 2013 x86_64 x86_64 x86_64 GNU/Linux
[[email protected] ~]# mysql --version
mysql Ver 14.14 Distrib 5.6.17, for linux-glibc2.5 (x86_64) using EditLine wrapper

2.创建FEDERATED存储引擎并启动

mysql> show engines
-> ;
+--------------------+---------+----------------------------------------------------------------+--------------+------+------------+
| Engine | Support | Comment | Transactions | XA | Savepoints |
+--------------------+---------+----------------------------------------------------------------+--------------+------+------------+
| MyISAM | YES | MyISAM storage engine | NO | NO | NO |
| CSV | YES | CSV storage engine | NO | NO | NO |
| MRG_MYISAM | YES | Collection of identical MyISAM tables | NO | NO | NO |
| BLACKHOLE | YES | /dev/null storage engine (anything you write to it disappears) | NO | NO | NO |
| MEMORY | YES | Hash based, stored in memory, useful for temporary tables | NO | NO | NO |
| PERFORMANCE_SCHEMA | YES | Performance Schema | NO | NO | NO |
| ARCHIVE | YES | Archive storage engine | NO | NO | NO |
| InnoDB | DEFAULT | Supports transactions, row-level locking, and foreign keys | YES | YES | YES |
| FEDERATED | NO | Federated MySQL storage engine | NULL | NULL | NULL |
+--------------------+---------+----------------------------------------------------------------+--------------+------+------------+

默认是支持的,在配置文件中加入federated选项,并重启服务
3.实例1A上:

GRANT select ON test.t TO ‘TEST‘@‘%‘ IDENTIFIED BY ‘test‘;

4.实例B上:

mysql> CREATE TABLE `test`.`fd_test_t` ( `id` int(11) DEFAULT NULL ) ENGINE=FEDERATED DEFAULT CHARSET=utf8 CONNECTION=‘mysql://root:[email protected]:6666/test/t‘;
Query OK, 0 rows affected (0.00 sec)

到目前为止操作结束,现在在B上执行

mysql> select \* from fd_test_t;
+------+
| id |
+------+
| 1 |
+------+

就可以看到A表中test.t的数据了

---恢复内容结束---

---恢复内容开始---

通过FEDERATED存储引擎同步两实例间的表数据
需求情景:实例1中A库中的三个视图是实例2中的B库所依赖的,B需要A库中三个视图的实时数据。
方案:通过FEDERATED来完成跨势力的查询
FEDERATED存储引擎表只会创建表结构,不会存储表数据,可以通过建表语句中的CONNECTION [=] ‘connect_string‘来指定访问远端数据的连接方式connect_string:
scheme://user_name[:password]@host_name[:port_num]/db_name/tbl_name
[http://dev.mysql.com/doc/refman/5.7/en/federated-create-connection.html](url)
测试实施:
1.本地环境:

[[email protected] ~]# uname -a
Linuxtest-01 2.6.32-431.el6.x86_64 #1 SMP Fri Nov 22 03:15:09 UTC 2013 x86_64 x86_64 x86_64 GNU/Linux
[[email protected] ~]# mysql --version
mysql Ver 14.14 Distrib 5.6.17, for linux-glibc2.5 (x86_64) using EditLine wrapper

2.创建FEDERATED存储引擎并启动

mysql> show engines
-> ;
+--------------------+---------+----------------------------------------------------------------+--------------+------+------------+
| Engine | Support | Comment | Transactions | XA | Savepoints |
+--------------------+---------+----------------------------------------------------------------+--------------+------+------------+
| MyISAM | YES | MyISAM storage engine | NO | NO | NO |
| CSV | YES | CSV storage engine | NO | NO | NO |
| MRG_MYISAM | YES | Collection of identical MyISAM tables | NO | NO | NO |
| BLACKHOLE | YES | /dev/null storage engine (anything you write to it disappears) | NO | NO | NO |
| MEMORY | YES | Hash based, stored in memory, useful for temporary tables | NO | NO | NO |
| PERFORMANCE_SCHEMA | YES | Performance Schema | NO | NO | NO |
| ARCHIVE | YES | Archive storage engine | NO | NO | NO |
| InnoDB | DEFAULT | Supports transactions, row-level locking, and foreign keys | YES | YES | YES |
| FEDERATED | NO | Federated MySQL storage engine | NULL | NULL | NULL |
+--------------------+---------+----------------------------------------------------------------+--------------+------+------------+

默认是支持的,在配置文件中加入federated选项,并重启服务
3.实例1A上:

GRANT select ON test.t TO ‘TEST‘@‘%‘ IDENTIFIED BY ‘test‘;

4.实例B上:

mysql> CREATE TABLE `test`.`fd_test_t` ( `id` int(11) DEFAULT NULL ) ENGINE=FEDERATED DEFAULT CHARSET=utf8 CONNECTION=‘mysql://root:[email protected]:6666/test/t‘;
Query OK, 0 rows affected (0.00 sec)

到目前为止操作结束,现在在B上执行

mysql> select \* from fd_test_t;
+------+
| id |
+------+
| 1 |
+------+

就可以看到A表中test.t的数据了

---恢复内容结束---

原文地址:https://www.cnblogs.com/Bccd/p/8496779.html

时间: 2024-08-08 20:23:37

通过FEDERATED存储引擎同步两实例间的表数据的相关文章

MySQL FEDERATED 存储引擎的使用

FEDERATED 存储引擎描述 FEDERATED存储引擎能让你访问远程的MySQL数据库而不使用replication或cluster技术(类似于Oracle的dblink),使用FEDERATED存储引擎的表,本地只存储表的结构信息,数据都存放在远程数据库上,查询时通过建表时指定的连接符去获取远程库的数据返回到本地. FEDERATED存储引擎默认不启用 如果是使用的源码,需要使用CMake 加上DWITH_FEDERATED_STORAGE_ENGINE选项. 如果是二进制包,则在启动M

【3.3】mysql中的Federated存储引擎,远程表,相当于sql server的linked server

MySQL中针对不同的功能需求提供了不同的存储引擎.所谓的存储引擎也就是MySQL下特定接口的具体实现. FEDERATED是其中一个专门针对远程数据库的实现.一般情况下在本地数据库中建表会在数据库目录中生成相应的表定义文件,并同时生成相应的数据文件. 但通过FEDERATED引擎创建的表只是在本地有表定义文件,数据文件则存在于远程数据库中(这一点很重要). 通过这个引擎可以实现类似Oracle 下DBLINK的远程数据访问功能. 1.使用show engines 命令查看数据库是否已支持FED

随笔-SQL的三种存储引擎即三种类型的表

MYSQL 的环境变量:......server/bin下 引擎(Engine):是电子平台上开发程序或系统的核心组件.利用引擎,开发者可迅速建立.铺设程序所需的功能,或利用其辅助程序的运转.一般而言,引擎是一个程序或一套系统的支持部分.常见的程序引擎有游戏引擎,搜索引擎,杀毒引擎等. 存储引擎就是指表的类型以及表在计算机上的存储方式. 存储引擎的概念是MySQL的特点,Oracle中没有专门的存储引擎的概念,Oracle有OLTP和OLAP模式的区分.不同的存储引擎决定了MySQL数据库中的表

mysql主从同步双yes但是有些表数据不同步

web页面数据没有更新,刚开始老夫以为同步断了,上了服务器查看数据库同步状态(show slave status\G),发现是双yes,以为是数据太多堵塞没同步过来呢,待会应该就会好了,第二天看了一眼还是没有同步,查看同步状态还是双yes,同步的位置(pos)和主库是一样的,主库有数据从库没有,然后找错误日志,没有异常输出,主库从库都是这样,没有异常,查看binlog也是有的,后来在从库手动插入1条id是99999数据,提示id99999主键重复,查看了一下,id主键是99999没有数据,应该可

XmlTextReader实例(加载表数据)

以下代码是读取xml的内容,包括列字段信息和表数据.采用线程读取各个表的数据.针对特定的XML格式 private string fileName; private XmlTextWriter writer; /// <summary> /// 数据库类型 /// </summary> private DataBaseType dataBaseType; /// <summary> /// 表名 /// </summary> private DataTabl

MySQL存储引擎--------Federated最佳实战

1. 背景 * 本地MySQL数据库要访问远程MySQL数据库的表中的数据, 必须通过FEDERATED存储引擎来实现. * 有点类似Oracle中的数据库链接(DBLINK). 要允许这个存储引擎, 当构建MySQL时使用--with-federated-storage-engine来configure. * 当创建一个FEDERATED表的时候, 服务器在数据库目录创建一个表定义文件. 文件由表的名字开始, 并有一个.frm扩展名. * 无其它文件被创建, 因为实际的数据在一个远程数据库上.

Mysql数据库的触发器、存储引擎和存储过程

数据库的触发器 1.触发器 触发器是MySQL响应以下任意语句而自动执行的一条MySQL语句(或位于BEGIN和END语句之间的一组语句): DELETE,INSERT,UPDATE 我们可以监视某表的变化,当发生某种变化时,触发某个操作. 能监视:增,删,改 触发操作:增,删,改 2.触发器应用场景: 1.当向一张表中添加或删除记录时,需要在相关表中进行同步操作.比如,当一个订单产生时,订单所购的商品的库存量相应减少. 2.当表上某列数据的值与其他表中的数据有联系时.比如,当某客户进行欠款消费

存储引擎

mysql存储引擎 1.3.1.innodb存储引擎,特点支持外键.行锁.非锁定读(默认情况下读取不会产生锁).mysql-4.1开始支持每个innodb引擎的表单独放到一个表空间里.innodb通过使用MVCC来获取高并发性,并且实现sql标准的4种隔离级别,同时使用一种被称成next-key locking的策略来避免换读(phantom)现象.除此之外innodb引擎还提供了插入缓存(insert buffer).二次写(double write).自适应哈西索引(adaptive has

第 3 章 MySQL 存储引擎简介

3.1MySQL 存储引擎概述 到后来,MySQL 意识到需要更改架构,将前端的业务逻辑和后端数据存储以清晰的层次结构拆分开的同时,对ISAM 做了功能上面的扩展和代码的重构,这就是MyISAM存储引擎的由来. MySQL 的插件式存储引擎主要包括MyISAM,Innodb,NDB Cluster,Maria,Falcon, Memory,Archive,Merge,Federated 等,其中最著名而且使用最为广泛的MyISAM 和Innodb两种存储引擎.MyISAM 是MySQL 最早的I