MySQL 跨服務器查詢數據

MySQL同個服務器下,要進行跨數據庫進行查詢,只需在表前加上數據庫名就可以。
如果要在跨服務器查詢,服務器A查詢服務器B,則需要在服務器A開啓federated引擎(默認關閉)以進行映射表查詢。
MySQL執行show engines命令可以查看federated引擎的是否關閉狀態。

  

 啓用FEDERATED引擎,Linux通過vim /etc/my.cnf修改(Windows修改my.ini),在[mysqld] 下加上federated後保存

 

並重啓數據庫服務

service mysqld restart

在mysql中創建遠程服務器數據庫中的需要映射的表,數據結構一樣,映射表名稱可以不同。

CREATE TABLE `user_remote` (
`id` bigint(20) NOT NULL COMMENT '主鍵',
`name` varchar(1000) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '姓名',
`create_date` datetime NULL DEFAULT '1000-01-01 00:00:00' COMMENT '創建時間',
`created_by` bigint(20) NULL DEFAULT NULL COMMENT '創建人'
) ENGINE=FEDERATED CONNECTION='mysql://root:[email protected]:3306/db/user';

ENGINE=FEDERATED,使用federated引擎,修改用戶名,密碼,地址,端口號,數據庫,表

這樣就可以將遠程的user表數據實時映射到hn_user表中,實現mysql跨服務器查詢數據。

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章