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

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

生活随笔

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

编程问答

plsql表设置主键_对复制实施主键约束

發(fā)布時(shí)間:2024/7/23 编程问答 30 豆豆
生活随笔 收集整理的這篇文章主要介紹了 plsql表设置主键_对复制实施主键约束 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

作者:Pedro Gomes 譯:徐軼韜

在本文中,我們介紹一個(gè)配置選項(xiàng),該選項(xiàng)控制復(fù)制通道是否允許創(chuàng)建沒(méi)有主鍵的表。這延續(xù)了我們最近在復(fù)制安全性方面的工作,在該工作中,我們?cè)试S用戶強(qiáng)制執(zhí)行權(quán)限檢查和/或強(qiáng)制執(zhí)行基于行的事件。

在8.0.20上,我們?yōu)?strong>CHANGE MASTER TO語(yǔ)句引入了一個(gè)新選項(xiàng):REQUIRE_TABLE_PRIMARY_KEY_CHECK。復(fù)制通道在執(zhí)行創(chuàng)建或更改表定義及其主鍵時(shí)可以選擇自己的策略。

在表定義上強(qiáng)制主鍵很重要。例如,在使用基于行的日志模式下進(jìn)行復(fù)制時(shí),表的主鍵對(duì)從數(shù)據(jù)庫(kù)的性能起著重要作用。服務(wù)器中使用變量sql_require_primary_key強(qiáng)制執(zhí)行此策略。在復(fù)制的上下文中,該變量的值將與所有更改表結(jié)構(gòu)(也稱為DDL)的查詢一起發(fā)送,因此從數(shù)據(jù)庫(kù)將遵循主數(shù)據(jù)庫(kù)上的任何限制。

如果從數(shù)據(jù)庫(kù)的操作員無(wú)法控制或信任主服務(wù)器,僅僅遵循在那里定義的限制是不夠的。因此,現(xiàn)在可以用REQUIRE_TABLE_PRIMARY_KEY_CHECK的值來(lái)影響此行為。

可以在復(fù)制通道上將此參數(shù)設(shè)置為:

  • ON:復(fù)制通道在復(fù)制操作中始終對(duì)sql_require_primary_key系統(tǒng)變量使用值“ON”,在所有create和alter table操作中都需要主鍵。

  • OFF:復(fù)制通道在復(fù)制操作中始終對(duì)sql_require_primary_key系統(tǒng)變量使用值“OFF” ,創(chuàng)建或更改表時(shí)不需要主鍵,即使主數(shù)據(jù)庫(kù)強(qiáng)制執(zhí)行了此類限制。

  • STREAM:默認(rèn)值,復(fù)制通道為每個(gè)事務(wù)使用從主數(shù)據(jù)庫(kù)復(fù)制的值。這樣可以保留以前的服務(wù)器行為。

用法和優(yōu)點(diǎn)

第一個(gè)用例出現(xiàn)在對(duì)數(shù)據(jù)來(lái)源的主數(shù)據(jù)庫(kù)沒(méi)有嚴(yán)格控制的場(chǎng)景中。在這種情況下,?REQUIRE_TABLE_PRIMARY_KEY_CHECK = ON可確保表定義中沒(méi)有刪除任何主鍵,不會(huì)導(dǎo)致性能問(wèn)題。

在多源復(fù)制方案中,此功能也非常有用。使sql_require_primary_key的值保持一致,允許來(lái)自不同主數(shù)據(jù)庫(kù)的復(fù)制通道之間的行為更加統(tǒng)一。當(dāng)多個(gè)主數(shù)據(jù)庫(kù)更新同一組表,并且其中一個(gè)表存在錯(cuò)誤時(shí),使用ON可以防止丟失主鍵。使用OFF可使多個(gè)主數(shù)據(jù)庫(kù)一起工作而不管它們能否操作主鍵。

在復(fù)制通道中使用權(quán)限檢查時(shí),此功能也具有優(yōu)勢(shì),因?yàn)閷?strong>REQUIRE_TABLE_PRIMARY_KEY_CHECK設(shè)置ONOFF意味著具有PRIVILEGE_CHECKS_USER權(quán)限的帳戶不再需要額外的權(quán)限來(lái)操作sql_require_primary_key。如果設(shè)置為STREAM,除了需要?jiǎng)?chuàng)建或更改表的基本權(quán)限外,還要求權(quán)限檢查用戶具有會(huì)話管理級(jí)別的權(quán)限用以復(fù)制查詢。

配置

若要顯式更改復(fù)制通道在處理主鍵檢查策略的行為,您需要停止復(fù)制SQL線程。

可觀察性

相關(guān)的Performance Schema表進(jìn)行了功能增強(qiáng),用以顯示新的CHANGE MASTER TO…語(yǔ)句選項(xiàng)REQUIRE_TABLE_PRIMARY_KEY_CHECK的狀態(tài)

使用注意事項(xiàng)

此功能受RESET SLAVE ALL的影響,但不受RESET SLAVE的影響。

同樣,雖然群組復(fù)制插件強(qiáng)制使用主鍵執(zhí)行每個(gè)查詢,但該檢查不依賴于sql_require_primary_key并且限制較少。詳情參閱“https://dev.mysql.com/doc/refman/8.0/en/group-replication-requirements.html”。

摘要

此功能是一種新工具,可在復(fù)雜多樣的環(huán)境中保護(hù)您的復(fù)制流,同時(shí)您可以更好地控制復(fù)制用戶的權(quán)限。

希望這項(xiàng)新功能可以使您利用MySQL創(chuàng)建更安全的解決方案。歡迎進(jìn)行測(cè)試,并告訴我們您的意見(jiàn)。

感謝您關(guān)注“MySQL解決方案工程師”!

總結(jié)

以上是生活随笔為你收集整理的plsql表设置主键_对复制实施主键约束的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

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