QT 在当前目录下可创建数据库,为什么在其他目录创建数据库会失败?一下是相关代码。

QT 在当前目录下可创建数据库,为什么在其他目录创建数据库会失败?一下是相关代码。,第1张

("/sdcard/vb3.db")

你这目录名,是在磁盘根目录的sdcard文件夹里的vb3.db,

你根目录有sdcard文件夹么?

如果要在当前目录的sdcard文件夹里弄db,

那个目录名是:

("./sdcard/vb3.db")

点号是当前目录。

错误1465“无法在系统表上创建触发器".从mysqldump创建的SQL还原后

[英] 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屋!

setInterval(函数名,1000)t: Timer = new Timer(1000, 5)t.addEventListener(TimerEvent.TIMER,函数名)t.addEventListener(TimerEvent.TIMER_COMPLETE, 函数名)t.start()


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/sjk/10066595.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-04
下一篇2023-05-04

发表评论

登录后才能评论

评论列表(0条)

    保存