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 示例的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: js和 jquery对象
- 下一篇: Service随系统启动运行