欢迎访问 生活随笔!

生活随笔

当前位置: 首页 > 运维知识 > 数据库 >内容正文

数据库

Mysql Federated Server 示例

发布时间:2025/7/14 数据库 51 豆豆
生活随笔 收集整理的这篇文章主要介绍了 Mysql Federated Server 示例 小编觉得挺不错的,现在分享给大家,帮大家做个参考.

   Federated存储引擎访问在远程数据库的表中的数据,而不是本地的表。创建一个Federated表的时候,服务器在数据库目录创建一个表定义文件。无其它表被创建,因为实际的数据在一个远程数据库上。这不同于为本地表工作的存储引擎的方式。

1. 检查当前服务器配置是否支持Federated存储引擎:

Show Engines;

查询结果,如果Federated行对应的Support列值为YES,说明当前服务器支持Federated存储引擎。

如果Federated行对应的Support列值为NO,需要我们进行配置。找到服务器安装目录下my.ini文件;记事本打开文件添加Federated;保存;重启MySQL服务器。

2. 在远程服务器上,创建本地表;并导入数据。

CREATE TABLE IF NOT EXISTS `departmentweekdata` (`department` varchar(255) NOT NULL,`week` varchar(10) NOT NULL,`interval` tinyint(4) DEFAULT NULL,`number` int(11) DEFAULT NULL ) ENGINE=InnoDB DEFAULT CHARSET=latin1;-- -- 插入表数据 -- INSERT INTO `departmentweekdata` (`department`, `week`, `interval`, `number`) VALUES ('CAO', '2014-12', 1, 1), ('GBG1', '2014-12', 1, 0), ('CAO', '2014-12', 2, 0), ('GBG1', '2014-12', 2, 0), ('CAO', '2014-12', 3, 1), ('GBG1', '2014-12', 3, 0), ('CAO', '2014-11', 1, 2), ('GBG1', '2014-11', 1, 0), ('CAO', '2014-11', 2, 0), ('GBG1', '2014-11', 2, 0), ('CAO', '2014-11', 3, 1), ('GBG1', '2014-11', 3, 0), ('CAO', '2014-10', 1, 1), ('GBG1', '2014-10', 1, 0), ('CAO', '2014-10', 2, 2), ('GBG1', '2014-10', 2, 0), ('CAO', '2014-10', 3, 0), ('GBG1', '2014-10', 3, 0), ('CAO', '2014-09', 1, 1), ('GBG1', '2014-09', 1, 0), ('CAO', '2014-09', 2, 0), ('GBG1', '2014-09', 2, 0), ('CAO', '2014-09', 3, 0), ('GBG1', '2014-09', 3, 0), ('CAO', '2014-08', 1, 2), ('GBG1', '2014-08', 1, 0), ('CAO', '2014-08', 2, 0), ('GBG1', '2014-08', 2, 0), ('CAO', '2014-08', 3, 1), ('GBG1', '2014-08', 3, 0), ('CAO', '2014-07', 1, 1), ('GBG1', '2014-07', 1, 0), ('CAO', '2014-07', 2, 2), ('GBG1', '2014-07', 2, 0), ('CAO', '2014-07', 3, 0), ('GBG1', '2014-07', 3, 0), ('CAO', '2014-06', 1, 0), ('GBG1', '2014-06', 1, 0), ('CAO', '2014-06', 2, 1), ('GBG1', '2014-06', 2, 0), ('CAO', '2014-06', 3, 0), ('GBG1', '2014-06', 3, 0), ('CAO', '2014-05', 1, 0), ('GBG1', '2014-05', 1, 0), ('CAO', '2014-05', 2, 1), ('GBG1', '2014-05', 2, 0), ('CAO', '2014-05', 3, 0), ('GBG1', '2014-05', 3, 0), ('CAO', '2014-04', 1, 1), ('GBG1', '2014-04', 1, 0), ('CAO', '2014-04', 2, 0), ('GBG1', '2014-04', 2, 0), ('CAO', '2014-04', 3, 0), ('GBG1', '2014-04', 3, 0), ('CAO', '2014-03', 1, 0), ('GBG1', '2014-03', 1, 0), ('CAO', '2014-03', 2, 0), ('GBG1', '2014-03', 2, 0), ('CAO', '2014-03', 3, 1), ('GBG1', '2014-03', 3, 0);

3. 在本地服务器上创建Federated表。

CREATE TABLE `DepartmentWeekData` (`department` VARCHAR(255) NOT NULL,`week` VARCHAR(10) NOT NULL,`interval` TINYINT(4) NULL,`number` INT NULL ) ENGINE=FEDERATED CONNECTION='mysql://USER:PASSWORD@HOST:PORT/DATABASE/TABLE';

其中连接字符串示例:CONNECTION='mysql://root:123@127.0.0.1:3306/dbTest/TestTable';

4. 如果使用MySQL客户端工具,可以创建Federated Server:

CREATE SERVER `FServer` FOREIGN DATA WRAPPER mysql OPTIONS (HOST '127.0.0.1',PORT 3306,USER 'root',PASSWORD '123',DATABASE 'DBTest' );

5. 如果创建了Federated Server,创建Federated表可以用下面的方式:

CREATE TABLE `DepartmentWeekData` (`department` VARCHAR(255) NOT NULL,`week` VARCHAR(10) NOT NULL,`interval` TINYINT(4) NULL,`number` INT NULL ) ENGINE=FEDERATED CONNECTION='FServer/TABLE';

6.创建好Federated表以后,就可以访问远程数据库表中的数据了。

转载于:https://www.cnblogs.com/ucos/p/Federated.html

总结

以上是生活随笔为你收集整理的Mysql Federated Server 示例的全部内容,希望文章能够帮你解决所遇到的问题。

如果觉得生活随笔网站内容还不错,欢迎将生活随笔推荐给好友。