移动一个8年前创建的旧应用程序。我已经运行了mysqldump,现在我试图将它加载到运行在AWS上的一个新的MySQL数据库中。
类型不匹配。有一个文本字段中包含了太多的信息,但是很明显,旧数据库并没有严格执行这些限制。我想如果我能做到的话,我可以解决这个问题:
set innodb_strict_mode = OFF;我仔细地阅读了这篇文章,并遵循了指示:
但如果我尝试:
set innodb_strict_mode = OFF;我得到:
错误1227 (42000):访问被拒绝;此操作需要(至少一个) SYSTEM_VARIABLES_ADMIN或SESSION_VARIABLES_ADMIN特权(S)
我花了几个小时试图找出是否有一种方法可以在RDS上获得正确的特权,但我什么也找不到。有人知道吗?
这一页使它听起来毫无希望:
https://aws.amazon.com/premiumsupport/knowledge-center/mysqldump-error-rds-mysql-mariadb/
上面写着:
“错误消息中引用的行的命令需要在RDS DB实例中没有提供的超级特权(S)。”
如果是这样的话,那周围还有什么工作吗?我不能简单地扔掉数百万张唱片。
发布于 2022-10-22 02:05:34
是的,你可以通过一个param组来设置这个。请参阅与Param小组合作
tldr;
innodb_strict_mode,设置为0表示关闭,1设置为onhttps://dba.stackexchange.com/questions/313722
复制相似问题