【问题标题】:What command to run to change lock permissions on a user运行什么命令来更改用户的锁定权限
【发布时间】:2015-02-18 02:24:48
【问题描述】:

我试图在亚马逊 RDS 上导出数据库,但每当我运行 mysqldump 命令时,我都会收到错误:

mysqldump: Got error: 1044: Access denied for user 'ec2'@'%' to database ‘DB_name’ when using LOCK TABLES

我不知道在我的 mac 终端中运行正确的命令来更改用户的锁定权限。

有人可以帮忙吗?

【问题讨论】:

    标签: mysql amazon-ec2 terminal


    【解决方案1】:

    尝试添加“--single-transaction”

    mysqldump --single-transaction -u root mydbname > backup.sql
    

    mysqldump 至少需要转储表的 SELECT 权限, SHOW VIEW 用于转储视图,TRIGGER 用于转储触发器和 LOCK 如果不使用 --single-transaction 选项,则为 TABLES。

    http://dev.mysql.com/doc/refman/5.1/en/mysqldump.html

    【讨论】:

    • 当我添加 --single-transaction 时它没有给出错误,但没有给我 sql 文件。我是在终端上运行命令的新手。我连接到 ec2 实例,然后运行 ​​mysqldump 命令。我应该在运行 mysqldump 之前再做一步吗?
    • 你能给我确切的命令和你正在使用的选项吗?
    • 这是我正在运行的命令 mysqldump --single-transaction -(db instance endpoint) -uec2 -p(password) DBname> ~/Applications
    • 我假设您正在运行一个 ec2 实例/默认 mysql 端口 3306 已打开,并且您正在您的 Mac 上执行此操作。使用以下内容(填写您的值,包括更改主机 -h 值)后,文件 backup.sql 将位于您的 ~/Applications 文件夹中 mysqldump --single-transaction -h ec2-20-20-109-12.compute- 1.amazonaws.com -umysqlusername -pmysqlpassword dbname > ~/Applications/backup.sql
    • 非常感谢您的帮助,您的假设都是正确的。首先我意识到我没有在目录路径的末尾添加“backup.sql”,所以我添加了它并得到了错误 -bash: /home/ec2-user/Applications/backup.sql: Not a directory。这是正确的,因为它不是我的计算机目录。然后我只是将目录作为'/backup.mysql'并得到错误:-bash:/backup.sql:权限被拒绝然后尝试'backup.mysql'作为目录(没有斜杠)它没有给我任何错误或一个文件,基本上什么都没发生。
    猜你喜欢
    • 2023-04-10
    • 2015-08-26
    • 1970-01-01
    • 2018-01-06
    • 1970-01-01
    • 2011-08-24
    • 1970-01-01
    • 2018-06-01
    • 2020-10-02
    相关资源
    最近更新 更多