如何使用多个值设置 Amazon RDS SQL_MODE

2023-12-24

MySQL 允许在 my.cnf 文件中将参数 SQL_MODE 设置为多个值。如何在 Amazon RDS 上执行相同操作?

更新:此问题已得到解决...见下文。


MySQL 允许在 my.cnf 文件中将参数 SQL_MODE 设置为多个值。但是,无论您使用基于浏览器的控制台还是 CLI 工具,Amazon RDS 都只允许一个值。

我找到了一个(也许不是完美的)解决方案来解决无法将 SQL_MODE 设置为多个值的问题。在下面的过程中,我展示了我的设置。您可以选择您认为与您的环境相关的任何值。

1) 在您的 parm 组中,设置 SQL_MODE = TRADITIONAL (或哪个值是您的最高优先级)

2) 在您的 parm 组中,将 init_connect 设置为: 设置会话 sql_mode = '传统,忽略_空间,无引擎_替换,仅_完整_组_BY'

现在,当客户端登录到数据库时,其会话 SQL_MODE 应设置为 init_connect 字符串传入的所有值。就我而言,这相当于:IGNORE_SPACE、ONLY_FULL_GROUP_BY、STRICT_TRANS_TABLES、STRICT_ALL_TABLES、NO_ZERO_IN_DATE、NO_ZERO_DATE、ERROR_FOR_DIVISION_BY_ZERO、TRADITIONAL、NO_AUTO_CREATE_USER、NO_ENGINE_SUBSTITUTION

注意:设置 init_connect 值后对其进行编辑涉及剪切粘贴。然而,我发现在设置 init_connect 值后尝试删除它是一个很大的麻烦,所以在使用它时要小心。麻烦吗?要在设置后删除 init_connect 值,需要我从头开始创建一个新的 parm 组,将除 init_connect 之外的所有值设置为原始 parm 组的值,删除原始 parm 组,然后使用旧名称重命名新组。 Firefox 和 Chrome 都是如此。我也无法使用 CLI 工具 (aws rdsmodify-db-parameter-group) 删除该值。

虽然这不是这篇文章的一部分,但如果有人回答如何删除/重置/清空 init_connect 而没有我上面描述的那种麻烦,那就太好了。

更新1:

没关系。我发现 init_connect 设置(在 RDS 上)将无法在数据库重新启动后继续存在。因此,我上面提供的解决方案不起作用。

另外,由于无法通过控制台删除(删除) init_connect 设置(为什么不呢?),因此可以使用aws rds 重置数据库参数组CLI 命令而不是像我之前描述的那样重建整个参数组。

我对 Amazon RDS 感到非常失望:

  • 不允许多个 SQL_MODE 值。
  • 不允许我们通过控制台删除 init_connect 设置。

更新2:

根据 Ross Scrivener 的回复,我测试了通过 AWS 控制台设置多个 SQL_MODE 值。我使用了值“TRADITIONAL、IGNORE_SPACE、ONLY_FULL_GROUP_BY”(无空格)。然后我重新启动了服务器两次,一切似乎都成立了。

感谢 Amazon 解决了这个问题,并感谢 Ross Scrivener 指出了 AWS 的更改。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何使用多个值设置 Amazon RDS SQL_MODE 的相关文章

随机推荐

  • 断点分组

    我正在 Visual Studio 2005 中开发一个基于 C Windows 的项目 我经常在这个巨大的项目中调试不同的功能 现在的问题是我在几个地方做了几个断点 只有在调试该功能时才需要这些断点 我想要然后禁用其他断点 我知道这可能不
  • 为什么我无法在 mac 操作系统上 pip install nltk?

    我正在使用 mac os mojave 安装 python 2 7 并使用 pip 安装python get pip py 我已经尝试使用这些命令来安装 pip pip install upgrade pip pip install nlt
  • INotifyPropertyChanged 以及不同对象上的派生属性

    最近我继承了一个用C 和WPF开发的相当大的项目 它使用绑定以及INotifyPropertyChanged用于将更改传播到视图或从视图传播更改的接口 一点前言 在不同的类中 我有依赖于其他属性的属性在同一个班 例如 考虑财产TaxCode
  • Fetch API如何在catch中获取响应体?

    我从服务器得到这样的响应 Request URL http api bfexchange net wallet balance Request Method GET Status Code 504 Gateway Time out Remo
  • 将 HTML 从内容脚本注入到页面中

    我正在构建一个 Chrome 扩展程序 并且需要在几个网站之上覆盖一个 html 块 目前我正在使用 JQuery Get从我的服务器中提取 html 为了提高性能 我想知道是否可以将 html 作为文件包含在扩展目录中并直接从那里访问源代
  • scala 开发人员如何处理带有 shapeless 的 scala 代码中不正确的 IDE(Idea) 错误

    这是一个带有具体例子的一般性问题 人们如何进入 Scala 并将其用于大型项目来处理工具 IDE 的不可靠性 您是否只接受源代码中的红色标记 我遇到了另一个 scala 代码库 其中工作代码被 idea 标记为红色Cannot resolv
  • git推送到远程存储库“无法从远程存储库读取”

    我搜索了一段时间 但找不到解决我的问题的方法 我有一个服务器 我可以使用用户名通过 ssh 连接到git和本地 git 存储库 现在我想将我的本地存储库推送到服务器上新创建的存储库 这是我所做的 创建了一个 git 存储库 home git
  • 具有不同列表和不同 SelectedValue 的 WPF 绑定组合框

    在我的 UserControl ucStep2 中 我有 Step2InfoData 对象的 DataContext 该对象具有多个属性以及 private string rockDensUnit public string RockDen
  • Docker - 无法在现有文件上安装卷,文件已存在

    我正在尝试在 Docker 中为我的应用程序构建一个数据容器 我运行此命令来公开一些卷 docker run name svenv nl data v etc environment v etc ssl certs v var lib my
  • 按屏幕尺寸排列的 Android 资源文件夹

    我开发了一款Android游戏 支持市场上几乎所有的分辨率 240x320 320x480 480x800 480x854 600x1024 我的问题是 当我尝试支持平板电脑时 我不明白为什么 Android 将资源划分在不同的文件夹中 h
  • 转换泛型列表时显式转换运算符错误

    我正在创建一个显式转换运算符 以在实体类型的通用列表与模型类型的通用列表之间进行转换 有谁知道为什么我收到以下错误 用户定义的转换必须与封闭类型相互转换 我已经在 Entity objA 和 Model objA 之间有一个显式转换运算符
  • 无法在 android 10 中启动活动背景 [ android Q ]

    我使用 android 10 android Q galaxy 10 我用的是android studio 3 3 使用AVD 并制作了一个api 29 android 10 虚拟电话 在虚拟机上 我执行我的应用程序 然后启动其他应用程序
  • jQuery/iframe 在 Chrome 中不工作

    我在这里创建了一个 Facebook 粉丝页面 它包含 iframe 来调用某些使用 jquery 的页面 图像库 除了 Chrome 之外 所有浏览器都运行良好 Chrome 中的 iframe 中没有显示任何内容 只有空的白色背景 我尝
  • 爪哇。如何正确同步 getter 和 setter?

    如果我在一个对象中有多个可变属性 并且将由多个线程对其进行操作 那么我知道它们应该是同步的 class Doggie private String name private int age public void setName Strin
  • 如何访问 Django 模板中的用户配置文件?

    我使用存储一些额外的每用户信息AUTH PROFILE MODULE http docs djangoproject com en dev topics auth storing additional information about u
  • CodeIgniter 无法实例化控制器类

    所以我试图解决为什么 CodeIgniter 不会显示任何输出 除了 404 等 我检查了从 php apache 和 codeigniter 中的错误日志到模块重写的所有内容 一切似乎都配置得很好 我开始深入研究 CodeIgniter
  • 直到成功失败表达式检查多种类型的异常

    在Mule中 我在HTTP端点周围使用until success来捕获连接异常 超时 我捕获了 3 个不同的 Java 异常 java net ConnectException java net SocketTimeoutException
  • Java中按字段名称分组

    我正在尝试按 Java 对象的字段对它们进行分组 即人 java public class Person String name String surname 所以如果我有nPerson 反对 将所有名为 David 的人放入地图中的最简单
  • 用java编写C#委托

    我怎样才能在java版本中编写下面的代码 我读过类似的问题 但它们很令人困惑 他们回答说java没有像c 那样的委托功能 另一方面他们用java中的委托实现来回答 但没有什么与我的情况相似 我真的希望这个问题是清楚的 一周以来我一直被困住
  • 如何使用多个值设置 Amazon RDS SQL_MODE

    MySQL 允许在 my cnf 文件中将参数 SQL MODE 设置为多个值 如何在 Amazon RDS 上执行相同操作 更新 此问题已得到解决 见下文 MySQL 允许在 my cnf 文件中将参数 SQL MODE 设置为多个值 但