mysql db用户使用mysqldump文件并恢复所需的最低权限是什么。
答案 0 :(得分:3)
在没有SUPER
权限的情况下,无法将完整的,未修改的转储文件还原到MySQL服务器。
" root"用户不是一个神奇的用户。它恰好是默认创建的用户GRANT ALL PRIVILEGES ON *.* ... WITH GRANT OPTION
。可以为另一个用户授予相同的权限。
恢复数据库本质上意味着删除服务器上的所有内容并将其替换为其他内容,包括所有用户帐户,因此需要SUPER
。
如果对转储文件进行了某些修改(例如删除所有DEFINER
语句)并修改了mysql架构的处理方式,则可以使用更多有限的权限,但这些修改是系统的高级主题 - 具体考虑因素。
答案 1 :(得分:2)
我开始使用SUPER
,INSERT
和& ALTER
并尝试重复添加新的,直到还原成功完成。
这就是我最终的目标:
SUPER
ALTER
INSERT
CREATE
DROP
LOCK TABLES
REFERENCES
SELECT
如果您有例程和触发器,那么您还需要这两个:
CREATE ROUTINE
TRIGGER
希望这有帮助。
答案 2 :(得分:-1)
来自Mysql官方网站:
mysqldump至少需要转储表的SELECT权限, SHOW VIEW用于转储视图,TRIGGER用于转储触发器和LOCK 如果未使用--single-transaction选项,则表格。某些选择 可能需要其他权限,如选项说明中所述。
- 单交易
此选项将事务隔离模式设置为REPEATABLE READ和 在转储之前向服务器发送START TRANSACTION SQL语句 数据。它仅适用于InnoDB等事务表, 因为那时它会转储数据库的一致状态 发布START TRANSACTION时没有阻止任何应用程序。
总之,特权是: