一、MySQL語(yǔ)言跨服務(wù)器查詢sql怎么寫
兩個(gè)服務(wù)器組成數(shù)據(jù)庫(kù)集群,把數(shù)據(jù)庫(kù)服務(wù)器A作為數(shù)據(jù)庫(kù)服務(wù)器B的從節(jié)點(diǎn),采用同步復(fù)制或者半同步復(fù)制的方式進(jìn)行數(shù)據(jù)同步,這樣服務(wù)器A就可以本地查詢數(shù)據(jù)庫(kù)B的數(shù)據(jù)了。
在日常的開(kāi)發(fā)中經(jīng)常進(jìn)行跨數(shù)據(jù)庫(kù)進(jìn)行查詢數(shù)據(jù)。
同服務(wù)器下跨數(shù)據(jù)庫(kù)進(jìn)行查詢?cè)诒砬凹由蠑?shù)據(jù)庫(kù)名就可以查詢到數(shù)據(jù)。
mysql跨服務(wù)器進(jìn)行查詢提供了FEDERATED引擎進(jìn)行映射表,然后進(jìn)行查詢。
mysql數(shù)據(jù)庫(kù)federated引擎是關(guān)閉的,首先需要先啟用該引擎。mysql執(zhí)行show engines命令查看引擎狀態(tài)。
show engines;
FEDERATED引擎是未啟用的。
啟用FEDERATED引擎
Windows下找到my.ini修改mysql配置。該文件是隱藏在ProgramData文件夾,在該地址:C:\ProgramData\MySQL\MySQL Server 5.7,可以通過(guò)%ProgramData%查找該隱藏文件件。
打開(kāi)my.ini文件,在[mysqld] 下加上federated
重啟mysql,再查看引擎
在mysql中創(chuàng)建遠(yuǎn)程服務(wù)器數(shù)據(jù)庫(kù)中的需要映射的表,映射表名稱可以隨意命名,但是數(shù)據(jù)結(jié)構(gòu)必要一樣。
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引擎,修改用戶名,密碼,地址,端口號(hào),數(shù)據(jù)庫(kù),表
這樣就可以將遠(yuǎn)程的user表數(shù)據(jù)實(shí)時(shí)映射到hn_user表中,實(shí)現(xiàn)mysql跨服務(wù)器查詢數(shù)據(jù)。
延伸閱讀:
二、什么是數(shù)據(jù)庫(kù)和數(shù)據(jù)庫(kù)管理系統(tǒng)
數(shù)據(jù)庫(kù)的應(yīng)用非常廣泛,舉個(gè)例子,我們平時(shí)在瀏覽器上搜索內(nèi)容,就要用到數(shù)據(jù)庫(kù)去檢索我們的關(guān)鍵字。以前我們可能會(huì)用數(shù)組、集合、文件等來(lái)存儲(chǔ)數(shù)據(jù),但是接下來(lái)我們就會(huì)面臨一個(gè)問(wèn)題,當(dāng)存儲(chǔ)的數(shù)據(jù)或內(nèi)容過(guò)多的時(shí)候,我們?nèi)绾稳ゾ珳?zhǔn)的找到我們需要的東西,這時(shí)候數(shù)據(jù)庫(kù)管理系統(tǒng)就派上了用場(chǎng)。除此之外,數(shù)據(jù)庫(kù)管理系統(tǒng)還能永久的儲(chǔ)存我們的數(shù)據(jù)。
為了便于大家理解,這里先給大家講解幾個(gè)概念
DB數(shù)據(jù)庫(kù)(database):存儲(chǔ)數(shù)據(jù)的“倉(cāng)庫(kù)”。它保存了一系列有組織的數(shù)據(jù)。
DBMS數(shù)據(jù)庫(kù)管理系統(tǒng)(Database Management System):數(shù)據(jù)庫(kù)是通過(guò)DBMS創(chuàng)建和操作的容器。