当前位置: 首页 > news >正文

mysql pxc 表分片_MySQL PXC集群如何导入无主键表

新建的一个2节点PXC MySQL集群在导入数据时出现报错:

ERROR 1105 (HY000): Percona-XtraDB-Cluster prohibits use of DML command on a table (jeecmsv93.org_depart_funct_bak) without an explicit primary key with pxc_strict_mode = ENFORCING or MASTER

这是由于PXC每个表必须要有主键,如果没有主键,可能造成集群中每个节点的data page里的数据不一样。

默认的配置选项PXC Strict Mode设置为ENFORCING,如果验证失败拒绝操作并抛出错误。可以修改为PERMISSIVE,如果失败,记录警告并继续正常运行。

SET GLOBAL pxc_strict_mode=PERMISSIVE;

再次导入,数据导入成功,提示TRIGGER错误:

[root@internetdb1:/home/data]mysql -uinspur -ppasswd --default-character-set=UTF8 jeecmsv93 < jeecmsv93.sql mysql: [Warning] Using a password on the command line interface can be insecure. ERROR 1419 (HY000) at line 81716: You do not have the SUPER privilege (you *might* want to use the less safe log_bin_trust_function_creators variable)

查看数据文件81716行:

CREATE TRIGGER triggerCommentInsert AFTER INSERT ON jc_comment FOR EACH ROW update jc_site_attr set attr_value=attr_value+1 where attr_name="commentTotal" and site_id=new.site_id;

是权限问题,不改权限的话,修改参数选项:

SET GLOBAL log_bin_trust_function_creators = 1;

手动执行以上create trigger,成功:

CREATE TRIGGER triggerCommentInsert AFTER INSERT ON jc_comment FOR EACH ROW update jc_site_attr set attr_value=attr_value+1 where attr_name="commentTotal" and site_id=new.site_id;

Query OK, 0 rows affected (0.01 sec)

-------

以下附pxc_strict_mode的详细说明。

PXC Strict Mode

PXC严格模式旨在避免在Percona XtraDB群集中使用实验性和不支持的功能,它在启动时和运行时执行多个验证。

根据您选择的实际模式,在遇到验证失败时,服务器将抛出错误(暂停启动或拒绝操作),或记录警告并继续正常运行:

• DISABLED:不要执行严格的模式验证和正常运行。

• PERMISSIVE:如果失败,记录警告并继续正常运行。

• ENFORCING:如果在启动期间验证失败,请暂停服务器并抛出错误。如果验证失败运行时,拒绝操作并抛出错误。

• MASTER:与ENFORCING相同,但不执行显式表锁定的验证。这个模式可以与其中写操作被隔离到单个节点的集群一起使用。

默认情况下,PXC Strict Mode设置为pxc_strict_mode = ENFORCING ,除非节点充当独立服务器或节点 bootstrapping,则PXC Strict Mode默认为DISABLED。

建议保持PXC严格模式设置为ENFORCING,因为在这种情况下每当Percona XtraDB群集遇到实验功能或不支持的操作,服务器将拒绝它。这将迫使你重新评估Percona XtraDB群集配置,而不会危及数据的一致性。

如果您计划将PXC严格模式设置为除ENFORCING以外的任何内容,则应注意这些限制以及这可能对数据完整性的影响。

要设置模式,请在mysqld启动期间在配置文件中使用 pxc_strict_mode 变量或使用 --pxc-strict-mode 选项。

最好使用必要的模式启动服务器(强烈建议使用默认的ENFORCING)。但是,您可以在运行时动态更改它。

mysql> SET pxc_strict_mode=PERMISSIVE;

为了进一步确保数据一致性,重要的是使集群中的所有节点运行相同配置,包括pxc_strict_mode

相关文章:

  • 如何将d盘空间转到c盘_如何拯救你的C盘?labview2019深度学习教你如何安装到D盘...
  • mysql 取top 10_mysql分组取topn
  • kvo实现原理_详细了解Cocoa中KVO机制是什么
  • gitee如何搭建mysql_gitee中项目到运行操作,包括:打包、热部署、数据库操作
  • php mysql 并发写入_php+mysql高并发插入数据重复问题!
  • python pickle模块_python pickle 模块的使用
  • python 曲线拟合参数能否为数组_Python曲线将多个参数拟合到多个数据集
  • plsql trim去不掉空格_Excel中使用TRIM与CALEN都无法清除空格与不可见字符时怎么办...
  • java日历算法分析_Java基础算法分析之一
  • ssh连接docker vscode_VScode远程连接Docker容器实现X11转发
  • linux mysql 最全安装_最全的mysql 5.7.13 安装配置方法图文教程(linux) 强烈推荐!
  • centos7镜像带mysql吗_【系列7】使用Dockerfile创建带mysql的Centos Docker镜像
  • spark mysql 环境搭建_Hive搭建
  • mysql vsftp_vsftp配置验证方式mysql和文件虑拟用户
  • php mysql 连接运算符_php – MINUS运算符在MySQL?
  • CSS中外联样式表代表的含义
  • Docker容器管理
  • docker容器内的网络抓包
  • echarts花样作死的坑
  • php面试题 汇集2
  • python_bomb----数据类型总结
  • WePY 在小程序性能调优上做出的探究
  • 阿里云购买磁盘后挂载
  • 两列自适应布局方案整理
  • 如何选择开源的机器学习框架?
  • 使用 Node.js 的 nodemailer 模块发送邮件(支持 QQ、163 等、支持附件)
  • 吐槽Javascript系列二:数组中的splice和slice方法
  • 运行时添加log4j2的appender
  • 《码出高效》学习笔记与书中错误记录
  • 策略 : 一文教你成为人工智能(AI)领域专家
  • ​【C语言】长篇详解,字符系列篇3-----strstr,strtok,strerror字符串函数的使用【图文详解​】
  • ​【已解决】npm install​卡主不动的情况
  • ### Error querying database. Cause: com.mysql.jdbc.exceptions.jdbc4.CommunicationsException
  • #Linux杂记--将Python3的源码编译为.so文件方法与Linux环境下的交叉编译方法
  • #stm32整理(一)flash读写
  • #我与Java虚拟机的故事#连载02:“小蓝”陪伴的日日夜夜
  • $分析了六十多年间100万字的政府工作报告,我看到了这样的变迁
  • (02)Hive SQL编译成MapReduce任务的过程
  • (1)bark-ml
  • (android 地图实战开发)3 在地图上显示当前位置和自定义银行位置
  • (二)Linux——Linux常用指令
  • (欧拉)openEuler系统添加网卡文件配置流程、(欧拉)openEuler系统手动配置ipv6地址流程、(欧拉)openEuler系统网络管理说明
  • (原創) 如何刪除Windows Live Writer留在本機的文章? (Web) (Windows Live Writer)
  • (转)EOS中账户、钱包和密钥的关系
  • (转)Linux整合apache和tomcat构建Web服务器
  • (转)我也是一只IT小小鸟
  • *p++,*(p++),*++p,(*p)++区别?
  • ./configure、make、make install 命令
  • .NET处理HTTP请求
  • .net连接MySQL的方法
  • [ vulhub漏洞复现篇 ] Django SQL注入漏洞复现 CVE-2021-35042
  • [ACL2022] Text Smoothing: 一种在文本分类任务上的数据增强方法
  • [acwing周赛复盘] 第 94 场周赛20230311
  • [C++][基础]1_变量、常量和基本类型
  • [C++]——带你学习类和对象