一、MySQL語言跨服務器查詢sql怎么寫
兩個服務器組成數據庫集群,把數據庫服務器A作為數據庫服務器B的從節點,采用同步復制或者半同步復制的方式進行數據同步,這樣服務器A就可以本地查詢數據庫B的數據了。
在日常的開發中經常進行跨數據庫進行查詢數據。
同服務器下跨數據庫進行查詢在表前加上數據庫名就可以查詢到數據。
mysql跨服務器進行查詢提供了FEDERATED引擎進行映射表,然后進行查詢。
mysql數據庫federated引擎是關閉的,首先需要先啟用該引擎。mysql執行show engines命令查看引擎狀態。
show engines;
FEDERATED引擎是未啟用的。
啟用FEDERATED引擎
Windows下找到my.ini修改mysql配置。該文件是隱藏在ProgramData文件夾,在該地址:C:\ProgramData\MySQL\MySQL Server 5.7,可以通過%ProgramData%查找該隱藏文件件。
打開my.ini文件,在[mysqld] 下加上federated
重啟mysql,再查看引擎
在mysql中創建遠程服務器數據庫中的需要映射的表,映射表名稱可以隨意命名,但是數據結構必要一樣。
CREATE TABLE hn_user (
? id varchar(32) NOT NULL,
? name varchar(20) DEFAULT NULL,
? phone varchar(11) DEFAULT NULL,
? idcard varchar(18) DEFAULT NULL,
? update_time bigint(13) DEFAULT NULL,
? add_time bigint(13) DEFAULT NULL,
? PRIMARY KEY (id)
) ENGINE=FEDERATED CONNECTION=’mysql://root:123456@192.168.1.8:3306/db/user’;
注意:ENGINE=FEDERATED,使用federated引擎,修改用戶名,密碼,地址,端口號,數據庫,表
這樣就可以將遠程的user表數據實時映射到hn_user表中,實現mysql跨服務器查詢數據。
延伸閱讀:
二、什么是數據庫和數據庫管理系統
數據庫的應用非常廣泛,舉個例子,我們平時在瀏覽器上搜索內容,就要用到數據庫去檢索我們的關鍵字。以前我們可能會用數組、集合、文件等來存儲數據,但是接下來我們就會面臨一個問題,當存儲的數據或內容過多的時候,我們如何去精準的找到我們需要的東西,這時候數據庫管理系統就派上了用場。除此之外,數據庫管理系統還能永久的儲存我們的數據。
為了便于大家理解,這里先給大家講解幾個概念
DB數據庫(database):存儲數據的“倉庫”。它保存了一系列有組織的數據。
DBMS數據庫管理系統(Database Management System):數據庫是通過DBMS創建和操作的容器。