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

作者:Pedro Gomes 译:徐轶韬

87da9f744148975f52f62dafabf100e5.png

在本文中,我们介绍一个配置选项,该选项控制复制通道是否允许创建没有主键的表。这延续了我们最近在复制安全性方面的工作,在该工作中,我们允许用户强制执行权限检查和/或强制执行基于行的事件。

在8.0.20上,我们为CHANGE MASTER TO语句引入了一个新选项:REQUIRE_TABLE_PRIMARY_KEY_CHECK。复制通道在执行创建或更改表定义及其主键时可以选择自己的策略。

在表定义上强制主键很重要。例如,在使用基于行的日志模式下进行复制时,表的主键对从数据库的性能起着重要作用。服务器中使用变量sql_require_primary_key强制执行此策略。在复制的上下文中,该变量的值将与所有更改表结构(也称为DDL)的查询一起发送,因此从数据库将遵循主数据库上的任何限制。

如果从数据库的操作员无法控制或信任主服务器,仅仅遵循在那里定义的限制是不够的。因此,现在可以用REQUIRE_TABLE_PRIMARY_KEY_CHECK的值来影响此行为。

可以在复制通道上将此参数设置为:

  • ON:复制通道在复制操作中始终对sql_require_primary_key系统变量使用值“ON”,在所有create和alter table操作中都需要主键。

  • OFF:复制通道在复制操作中始终对sql_require_primary_key系统变量使用值“OFF” ,创建或更改表时不需要主键,即使主数据库强制执行了此类限制。

  • STREAM:默认值,复制通道为每个事务使用从主数据库复制的值。这样可以保留以前的服务器行为。

用法和优点

第一个用例出现在对数据来源的主数据库没有严格控制的场景中。在这种情况下, REQUIRE_TABLE_PRIMARY_KEY_CHECK = ON可确保表定义中没有删除任何主键,不会导致性能问题。

在多源复制方案中,此功能也非常有用。使sql_require_primary_key的值保持一致,允许来自不同主数据库的复制通道之间的行为更加统一。当多个主数据库更新同一组表,并且其中一个表存在错误时,使用ON可以防止丢失主键。使用OFF可使多个主数据库一起工作而不管它们能否操作主键。

在复制通道中使用权限检查时,此功能也具有优势,因为将REQUIRE_TABLE_PRIMARY_KEY_CHECK设置ONOFF意味着具有PRIVILEGE_CHECKS_USER权限的帐户不再需要额外的权限来操作sql_require_primary_key。如果设置为STREAM,除了需要创建或更改表的基本权限外,还要求权限检查用户具有会话管理级别的权限用以复制查询。

配置

若要显式更改复制通道在处理主键检查策略的行为,您需要停止复制SQL线程。

7b9b7f6a2951ec7d0562da562dfc2354.png

可观察性

相关的Performance Schema表进行了功能增强,用以显示新的CHANGE MASTER TO…语句选项REQUIRE_TABLE_PRIMARY_KEY_CHECK的状态

b33fc5d117fad20c7c15b9f0c41a8641.png

使用注意事项

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

同样,虽然群组复制插件强制使用主键执行每个查询,但该检查不依赖于sql_require_primary_key并且限制较少。详情参阅“https://dev.mysql.com/doc/refman/8.0/en/group-replication-requirements.html”。

摘要

此功能是一种新工具,可在复杂多样的环境中保护您的复制流,同时您可以更好地控制复制用户的权限。

希望这项新功能可以使您利用MySQL创建更安全的解决方案。欢迎进行测试,并告诉我们您的意见。

感谢您关注“MySQL解决方案工程师”!

c508e95e6d7608ed75b3744d59aae540.png

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/503528.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

用c语言编写名字用字母表示,如何用C语言编写自己的姓名和学号

可以参考下面的代码&#xff1a;#include<stdio.h>#include<stdlib.h>intmain(void){FILE*fpfopen("data.txt","r");if(!fp){fpfopen("data.txt","w");printf("请输入姓名:");char*name;scanf("%s",n…

天大c语言离线考核答案,【天大考核】2019年秋学期考试《公共关系学》离线作业考核试题答案100分...

【天大考核】答案100分奥鹏在线离线作业wx&#xff1a;zcjiaoyu1|QQ&#xff1a;2502533676|论文2019年秋学期考试《公共关系学》离线作业考核试题公共关系学要求&#xff1a;一、 独立完成&#xff0c;下面已将五组题目列出&#xff0c;请任选其中一组题目作答&#xff0c;每人…

一键刷入twrp_小米/红米手机到手了该怎么解锁和刷 twrp

资源准备&#xff1a;1.百度搜索小米解锁申请&#xff0c;进行申请解锁并下载解锁工具。如图。文件夹里有对应的驱动&#xff0c;要安装好。2.对应机型的 twrp。在 w大的微博下找(wzsx150)或者在酷安找或者去twrp官网。3.edxp相关的包(两个)(不需要框架的可以忽略)4.手(第一步&…

如何将计算思维融合到C语言程序设计中,浅析基于计算思维的C语言程序设计教学...

浅析基于计算思维的C语言程序设计教学摘要&#xff1a;C语言是关键词&#xff1a;计算思维;C语言;教学改革中图分类号&#xff1a;TP3 文献标识码&#xff1a;A文章编号&#xff1a;1009-3044(2020)16-0145-02C语言是计算机相关专业的必修基础课程&#xff0c;是学生接触的第一…

一直在构建工作空间_智能工作空间让Dropbox拥有无限扩展潜力

智能工作空间让Dropbox拥有无限扩展潜力Dropbox一直以“让工作变得更好”的使命。在竞争激烈的市场中&#xff0c;Dropbox有着卓越的历史&#xff0c;就连苹果创始人史蒂夫乔布斯曾经提出来要收购它。Dropbox的智能工作空间是一个开放的生态系统&#xff0c;由于其开放集成的特…

厦门大学2016年c语言程序设计,厦门大学c语言程序设计2016模拟题讲评及课程复习.pptx...

《C语言程序设计》课程复习及模拟题讲评;《C语言程序设计》试卷各类题目分数分布情况一、选择题 40分(20小题, 每题2分 ) 主要考核基本概念, 词法, 语法和小程序阅读等。二、阅读题 12分(2小题, 每题6分)三、改错题 12分(2小题, 每题6分)四、设计题 36分(4小题, 每题9分) ;启动…

黄金分割小数点后100位小数的c语言编程,黄金分割数小数点后100位

满意答案su304_3212013.03.25采纳率&#xff1a;57% 等级&#xff1a;12已帮助&#xff1a;10017人黄金分割奇妙之处&#xff0c;在于其比例与其倒数是一样的。例如&#xff1a;1.618的倒数是0.618&#xff0c;而1.618:1与1:0.618是一样的。确切值为根号51/2黄金分割数是无理…

去超市一定要存包吗_去东京一定要去的富士河口湖

第一次去河口湖是一个人&#xff5e;也没有留宿&#xff0c;但当时就想说一定要来这边住两天泡温泉&#xff0c;因为实在太&#xff01;美&#xff01;了&#xff01;因为下面这个预告所以就订了一栋小木屋&#xff0c;这是闺蜜先去日本前线发回的&#xff5e;立马改了酒店日期…

分析启动耗时 android,Android app启动耗时分析

首先编译你的程序&#xff0c;打开Android Studio里面的Android Monitor&#xff0c;找到下图的按钮&amp;amp;amp;amp;amp;amp;lt;img src"//bbsmax.ikafan.com/static/L3Byb3h5L2h0dHBzL3BpYzIuemhpbWcuY29tL3YyLTA4Zjk1ZmUxMjM5ODgwNTkzMDU5YjE3YzFlMGU5NjcxX2IucG5…

pytorch 对抗样本_《AI安全之对抗样本入门》—3.4 PyTorch

3.4 PyTorchPyTorch是torch的Python版本&#xff0c;是由Facebook开源的神经网络框架。PyTorch虽然是深度学习框架中的后起之秀&#xff0c;但是发展极其迅猛。PyTorch提供了NumPy风格的Tensor操作&#xff0c;熟悉NumPy操作的用户非常容易上手。我们以解决经典的手写数字识别…

包包的结构制图_15种常见领型的结构制图

原标题&#xff1a;15种常见领型的结构制图更多独家素材分享欢迎添加博主微信 Wlb109701来源 | 服装云教育整理编辑V领注意1、V形领的前开深&#xff0c;除夜礼服外&#xff0c;一般最深开到胸围线附近(胸围线以上3cm处)&#xff0c;如果继续开深&#xff0c;需添加挡胸。2、贴…

android+内存清理+代码,最新版本:Android一键式清理,内存清理功能的实现

Android一键式清理&#xff0c;内存清理功能的实山清理大师等均提供一键式清理和一键加速等功能。实际上&#xff0c;它们杀死了一些后台进程以达到释放内存的目的。基本思想是列出所有正在运行的进程&#xff0c;检查它们的重要值(RunningAppProcessInfo.importance&#xff0…

android xml通知栏权限配置,Android开发中 AndroidManifest.xml配置之service,receiver标签配置详解...

本文主要来分享service,receiver标签配置。如有错误&#xff0c;欢迎指正。android:directBootAware["true" | "false"]android:enabled["true" | "false"]android:exported["true" | "false"]android:foreground…

cups共享linux打印机_linux入门-映射网络驱动器

linux入门-映射网络驱动器在日常中&#xff0c;我们不会时时刻刻远程着linux服务器&#xff0c;那么有没有办法可以让我们在window电脑上映射linux的磁盘呢&#xff1f;这是可以实现的&#xff0c;这里我们就要介绍samba了。sambaSamba是在Linux和UNIX系统上实现SMB协议的一个免…

c++ idea 插件_idea快速开发插件

插件&#xff1a;1、Background Image Plus这款插件并不能直接提高你的开发效率&#xff0c;但是可以让你面对的IDE不再单调&#xff0c;当把背景设置成你自己心仪的的图片&#xff0c;是不是会感觉很赏心悦目&#xff0c;编码效率会不会因此间接的提高&#xff1f;&#xff01…

android 删除模拟器,android – 如何从avd设备中删除脱机模拟器?

我在Android Studio中创建了几个AVD-s.他们在模拟器端口5554上启动.然后我通过android avd应用程序创建了另一个AVD,他们从端口5556开始.现在运行一个模拟器,我从adb devices -l获得以下输出&#xff1a;List of devices attachedemulator-5556 deviceemulator-5554 offline我正…

mongodb 搜索速度_MongoDB数据库查询性能提高40倍的经历分享

前言数据库性能对软件整体性能有着至关重要的影响&#xff0c;本文给大家分享了一次MongoDB数据库查询性能提高40倍的经历&#xff0c;感兴趣的朋友们可以参考学习。背景说明1、数据库&#xff1a;MongoDB2、数据集&#xff1a;A&#xff1a;字段数不定&#xff0c;这里主要用到…

signature=8405d26e250ad07c44560263cb1d4fc0,Systems for analyzing microtissue arrays

摘要&#xff1a;A tissue microarray imaging system autonomously images, analyzes, and stores data for samples in a tissue microarray. The system may include a tissue microarray, a robotic microscope, and an imaging workstation that executes software to aut…

ios支付宝支付失败不回调_为什么 iOS 支付成功后能回到 APP ,但是没有回调?...

接入客户端从服务器端拿到 charge 对象后&#xff0c;调用下面的方法[Pingpp createPayment:chargeviewController:viewControllerappURLScheme:kUrlSchemewithCompletion:^(NSString *result, PingppError *error) {if ([result isEqualToString:"success"]) { …

html如何将设置文本效果,css如何对文本进行修饰

color属性&#xff1a;设置文本文字颜色。用法如下&#xff1a;color&#xff1a;颜色值;color属性可以设置的合法颜色值包括&#xff1a;16进制颜色值(例&#xff1a;#ffffff)&#xff0c;rgb颜色值【例&#xff1a;rgb(0,0,0)】&#xff0c;rgba颜色值【例&#xff1a;rgb(0,…