
[英] ERROR 1465 "Triggers can not be created on system tables" after restore from SQL created by mysqldump
查看:1229 发布时间:2020/5/15 5:11:46 mysql mysqldump rds
仅需 5 分钟,数据变图表。众多数据可视化大屏模板等你来选。开源,人人可用。
广告
本文介绍了错误1465“无法在系统表上创建触发器".从mysqldump创建的SQL还原后的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我正在Amazon RDS上运行mysql 5.6服务器,并设置了一个只读副本,该副本用于使用mysqldump创建备份.
我尝试使用"--all-databases"选项,但是当我尝试导入mysqldump创建的SQL时,最终从mysql命令客户端收到此错误:
ERROR 1465 "Triggers can not be created on system tables"
我使用了"--all-databases",因为我基本上想还原RDS中的所有内容,以防发生崩溃.
也许这是错误的,我应该只选择我的模式(加上mysql.users表)?但是,如果"--all-databases"永远无法工作,那么它首先是什么呢?还是我使用错了?
推荐答案
在与Amazon支持小组进行了较长的交谈之后,这是我想出的:
可以通过将mysql配置临时设置为log_bin_trust_function_creators设置为1来解决触发问题
他们不建议拍摄完整快照,而是选择单个数据库.
这意味着您必须在恢复中执行两个步骤:
创建架构
创建用户并授予他们必要的权限
导入转储的数据
使用视图,您可能会遇到错误消息
With views, you might run into the error message
第12行的错误1227(42000):访问被拒绝;您需要(至少其中一种)SUPER权限才能进行此 *** 作
之所以显示它,是因为mysqldump在create视图中创建了一个definer语句(甚至您的root用户也没有足够的权限来设置该语句).如此处所述,摆脱它们的唯一方法是过滤,即过滤我喜欢这样:
sed -i's/^/.. 50013 DEFINER =.* SQL安全定义器.. $/-删除了安全定义器语句/g'
令人尴尬,需要大量的手动工作才能从RDS中取出数据库备份,然后又将其恢复.在任何情况下,您都应该依靠备份来进行备份只能由RDS自动制作,因为那些可以访问您的AWS帐户的恶意攻击者可以轻松删除它们.
这篇关于错误1465“无法在系统表上创建触发器".从mysqldump创建的SQL还原后的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
是的,Qt可以开发MIS,由于它拥有强大的图形用户界面(GUI)构建工具,可以简化构建复杂的GUI应用程序的过程,同时还拥有良好的可移植性,可以跨越多个 *** 作系统,这使得Qt非常适合MIS的开发。
Qt还拥有丰富的功能库,可以为MIS提供更多的功能,例如数据库支持、文件管理、数据可视化等。最后,Qt还拥有一个众多的社区,可以提供技术支持和建议,帮助开发者快速解决MIS的开发问题。
总之,Qt的强大的GUI开发工具、可移植性和丰富的功能库以及强大的社区支持使它成为开发MIS的理想选择。
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)