当前位置: 首页 > 面试题库 >

mysqldump转储完整模式所需的最低授权量?(触发器不见了!)

穆乐逸
2023-03-14
问题内容

我有一个名为 dump 的MySQL用户,具有以下权限:

GRANT USAGE ON *.* TO 'dump'@'%' IDENTIFIED BY ...
GRANT SELECT, LOCK TABLES ON `mysql`.* TO 'dump'@'%'
GRANT SELECT, LOCK TABLES ON `myschema`.* TO 'dump'@'%'

我想使用 转储 用户转储所有数据(包括触发器和过程)。我通过以下方式调用mysqldump:

mysqldump -u dump -p --routines --triggers --quote-names --opt \
    --add-drop-database --databases myschema > myschema.sql

转储的文件一切正常,除了 触发器,它们丢失了

触发器是正确的倾倒,如果我试图用mysqldump的 MySQL用户:

mysqldump -u root -p --routines --triggers --quote-names --opt \
    --add-drop-database --databases myschema > myschema.sql

因此,我想这是一个烫发问题… 我的 转储 MySQL用户正确执行完整转储所需额外补助 是什么? __


问题答案:

假设完全转储还意味着VIEWs和EVENTs,则需要:

GRANT USAGE ON *.* TO 'dump'@'%' IDENTIFIED BY ...;
GRANT SELECT, LOCK TABLES ON `mysql`.* TO 'dump'@'%';
GRANT SELECT, LOCK TABLES, SHOW VIEW, EVENT, TRIGGER ON `myschema`.* TO 'dump'@'%';

并且,如果您具有VIEW执行功能的,那么不幸的是,您还需要EXECUTE

我自己的问题是:SELECT如果只想进行无数据转储,为什么需要?



 类似资料:
  • 我想将架构导入我的新主机。首先,我创建了新的用户帐户: 我需要授予什么样的特权才能拥有超级角色? (创建模式,表,包,触发器等) 允许我访问所有这些是一种特权?

  • 我在尝试使用pandas软件包时遇到了这个问题。我已经使用命令安装了numpy 1.9.0和dateutil 2.5.0。我仍然看到这个错误。 是否有其他方法安装dateutil?而这只与熊猫包有关 回溯(最后一次调用):从pandas.compat.numpy import*文件“/Users/xyz/Library/Python/2.7/lib/Python/site packages/pan

  • 试图在android Studio中找到构建一个android项目所需的最小源代码和构建文件。我想发布到github,避免上传生成的构建文件或二进制文件。 我确实有一个Android.Gitignore从,但我仍然看到更多的文件被推入回购,这可能是不必要的。我明白几个明显的,但关于其他,我是否需要他们,如果是这样,善意地解释用法。 所以问题是,我需要以下内容吗?如果需要的话,我需要一个简短的描述,

  • 1. 进入客服端微信对接页面 2. 选择微信平台授权对接 3. 使用公众平台绑定的管理员个人微信号扫描二维码进行授权 4.授权完成后,返回到微信对接页面,勾选接待组 5.接待组勾选完成后,15分钟左右生效

  • 我想要mysqldump一个巨大的innodb数据库,而不使用(--single-transaction-quick)锁定表,同时将新记录插入数据库。mysqldump过程将持续很长时间,插入将很快完成。我的问题是: mysqldump是否会转储所有记录,包括在mysqldump开始后插入的新插入的记录?

  • 本文向大家介绍DBMS中的安全性,完整性和授权,包括了DBMS中的安全性,完整性和授权的使用技巧和注意事项,需要的朋友参考一下 数据库安全性数据库安全性具有许多不同的层,但是关键方面是: 认证方式 用户身份验证是为了确保访问数据库的人是他声称的身份。身份验证可以在操作系统级别甚至数据库级别本身进行。许多身份验证系统(例如视网膜扫描仪或生物识别技术)用于确保未经授权的人员无法访问数据库。 授权书 授