日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程资源 > 编程问答 >内容正文

编程问答

MySql数据同步FEDERATED引擎

發(fā)布時(shí)間:2023/12/10 编程问答 28 豆豆
生活随笔 收集整理的這篇文章主要介紹了 MySql数据同步FEDERATED引擎 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

概要:FEDERATED存儲(chǔ)引擎訪問(wèn)在遠(yuǎn)程數(shù)據(jù)庫(kù)的表中的數(shù)據(jù),而不是本地的表。這個(gè)特性給某些開(kāi)發(fā)應(yīng)用帶來(lái)了便利,你可以直接在本地構(gòu)建一個(gè)federated表來(lái)連接遠(yuǎn)程數(shù)據(jù)表,配置好了之后本地表的數(shù)據(jù)可以直接跟遠(yuǎn)程數(shù)據(jù)表同步。實(shí)際上這個(gè)引擎里面是不真實(shí)存放數(shù)據(jù)的,所需要的數(shù)據(jù)都是連接到其他MySQL服務(wù)器上。

一、步驟:

1、首先修正mysql的my.ini文件,開(kāi)啟FEDERATED引擎(my.ini文件存放在mysql安裝路勁下)。

2、步驟1之后基本上是完成了,之后就是操作數(shù)據(jù)了。第二步創(chuàng)建一張表,一張和你要同步的表一模一張,你可以直接復(fù)制創(chuàng)建語(yǔ)句。但是要在創(chuàng)建語(yǔ)句后面加上 ENGINE=Federated 和 CONNECTION='mysql://[username]:[password]@192.168.84.73:3306/kmsong/km_tbl_companycffsong';

操作其上步驟,新建出來(lái)的表就是鏈接到了192.168.84.73:3306/kmsong/b_owner這個(gè)表,本身只是一個(gè)空殼,只能進(jìn)行數(shù)據(jù)的增刪改查操作,不能改變鏈接到的表的表結(jié)構(gòu),如果改變自身的表結(jié)構(gòu)會(huì)出現(xiàn)意想不到的錯(cuò)誤。

二、注意事項(xiàng)

1. 對(duì)本地虛擬表的結(jié)構(gòu)修改,并不會(huì)修改遠(yuǎn)程表的結(jié)構(gòu)?
2.truncate?命令,會(huì)清除遠(yuǎn)程表數(shù)據(jù)?
3.??drop命令只會(huì)刪除虛擬表,并不會(huì)刪除遠(yuǎn)程表

4.??不支持?alter?table?命令?

目前使用federated?最大的缺點(diǎn):?
1.?select?count(*),?select?*?from?limit?M,?N?等語(yǔ)句執(zhí)行效率非常低,數(shù)據(jù)量較大時(shí)存在很嚴(yán)重的問(wèn)題,但是按主鍵或索引列查詢,則很快,如以下查詢就非常慢(假設(shè)?id?為主索引)?
select?id?from?db.tablea?where?id?>100?limit?10?;

而以下查詢就很快:?
select?id?from?db.tablea?where?id?>100?and?id<150

2.??如果虛擬虛擬表中字段未建立索引,而實(shí)體表中為此字段建立了索引,此種情況下,性能也相當(dāng)差。但是當(dāng)給虛擬表建立索引后,性能恢復(fù)正常。

3.?類似?where?name?like?"str%"?limit?1?的查詢,即使在?name?列上創(chuàng)建了索引,也會(huì)導(dǎo)致查詢過(guò)慢,是因?yàn)?/p>

federated引擎會(huì)將所有滿足條件的記錄讀取到本,再進(jìn)行?limit?處理。

這幾個(gè)問(wèn)題已經(jīng)嚴(yán)重影響了federated?在實(shí)際環(huán)境中的應(yīng)用,所以這個(gè)引擎很冷門(mén),不過(guò)在一些特定環(huán)境還是能用用的。

三、MySql密碼有@符號(hào)如何同步

解決:使用create server創(chuàng)建FEDERATED表

CREATE SERVER ExhibitionServer
FOREIGN DATA WRAPPER mysql
OPTIONS (USER '用戶名', HOST 'IP地址', DATABASE '數(shù)據(jù)庫(kù)名稱',?
PORT 端口號(hào),PASSWORD '密碼');

PS:只有端口號(hào)沒(méi)有單引號(hào),其余的都有單引號(hào)。你也可以自己嘗試加上單引號(hào)看能否成功。

CREATE TABLE b_owner?(
.............................................

.............................................
) ENGINE=INNODB AUTO_INCREMENT=84 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci
?ENGINE =FEDERATED CONNECTION='ExhibitionServer/b_owner'

?

總結(jié)

以上是生活随笔為你收集整理的MySql数据同步FEDERATED引擎的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。