mysql?dblink跨庫關(guān)聯(lián)查詢的實現(xiàn)
1、解決方案
mysql是不支持跨庫連接的,如果我們實在要連接的話可以用dblink方式。

解釋:
- dblink就是我們在創(chuàng)建表的時候連接到我們的遠程庫,然后我們本地新建的表數(shù)據(jù)就是
映射遠程的表的數(shù)據(jù)。 - 當我們創(chuàng)建一個以FEDERATED為存儲引擎的表時,服務(wù)器在
數(shù)據(jù)庫目錄只創(chuàng)建一個表定義文件。文件由表的名字開始,并有一個frm擴展名。無其它文件被創(chuàng)建,因為實際的數(shù)據(jù)在一個遠程數(shù)據(jù)庫上。這不同于為本地表工作的存儲引擎的方式。
如我現(xiàn)在本地要連接我的阿里云的sys_user表

所以我需要在本地建一個相同字段的表,我取名叫sys_user_copy,并連接到遠程庫

建好后,我本地sys_user_copy的表里面的數(shù)據(jù)是映射遠程的表的數(shù)據(jù)

所以我關(guān)聯(lián)查詢,可以直接關(guān)聯(lián)我本地sys_user_copy表從而查出來。

改了本地的數(shù)據(jù),遠程的表數(shù)據(jù)也會跟著變

2、操作
1、開啟FEDERATED引擎show engines

如果這里是NO,需要在配置文件[mysqld]中加入一行:federated

改完重啟服務(wù),就變成yes了。
2、建表時加上連接

CREATE TABLE (......) ENGINE =FEDERATED CONNECTION='mysql://username:password@hostname:port/database/tablename'
這樣即可。
3、缺點
1、本地表結(jié)構(gòu)必須與遠程表完全一樣
2、不支持事務(wù)
3、不支持表結(jié)構(gòu)修改
4、刪除本地表,遠程表不會刪除
5、遠程服務(wù)器必須是一個MySQL服務(wù)器
到此這篇關(guān)于mysql dblink跨庫關(guān)聯(lián)查詢的實現(xiàn)的文章就介紹到這了,更多相關(guān)mysql 跨庫關(guān)聯(lián)查詢內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
MySQL數(shù)據(jù)庫INNODB表損壞修復處理過程分享
突然收到MySQL報警,從庫的數(shù)據(jù)庫掛了,一直在不停的重啟,打開錯誤日志,發(fā)現(xiàn)有張表壞了。innodb表損壞不能通過repair table 等修復myisam的命令操作?,F(xiàn)在記錄下解決過程2013-08-08
MySQL 有關(guān)MHA搭建與切換的幾個錯誤log匯總
這篇文章主要介紹了MySQL 有關(guān)MHA搭建與切換的幾個錯誤log匯總,幫助大家更好的理解和使用MySQL,感興趣的朋友可以了解下2020-12-12
徹底搞懂數(shù)據(jù)庫操作truncate delete drop關(guān)鍵詞的區(qū)別
這篇文章主要為大家介紹了數(shù)據(jù)庫操作truncate delete drop關(guān)鍵詞的區(qū)別,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪2023-09-09
一次現(xiàn)場mysql重復記錄數(shù)據(jù)的排查處理實戰(zhàn)記錄
這篇文章主要給大家介紹了一次現(xiàn)場mysql重復記錄數(shù)據(jù)的排查處理記錄,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下2021-10-10
Windows 10系統(tǒng)下徹底刪除卸載MySQL的方法教程
mysql數(shù)據(jù)庫的重新安裝是一個麻煩的問題,很難卸除干凈,下面這篇文章主要給大家介紹了關(guān)于在Windows 10系統(tǒng)下徹底刪除卸載MySQL的方法教程,對大家具有一定的參考學習價值,需要的朋友們下面來一起看看吧。2017-07-07

