【问题标题】:mysql permissions needed to do a ALTER TABLE in database在数据库中执行 ALTER TABLE 所需的 mysql 权限
【发布时间】:2011-04-05 22:35:36
【问题描述】:
grant LOCK TABLES, SELECT,ALTER,INSERT,CREATE ON `databasetoupgrade%`.* to 'someuser'@'localhost';

这些是我为需要能够 ALTER 表(添加列,...)的用户提供的权限

mysql 文档指出需要更改、插入、创建,但即使使用锁定表和选择权限,我仍然收到用户没有足够权限执行 ALTER 的错误。

当我授予用户对这些表/数据库的所有权限时。

有谁知道我需要执行 ALTER 的确切权限是什么?我在上面的列表中忘记了哪一个?

这个帖子可以关闭了,这个修复了:

授予 ALTER、LOCK TABLES、SELECT、INSERT、CREATE

我可能在之前的命令中搞砸了……

【问题讨论】:

  • 每次更改都重新启动数据库吗?
  • 您得到的确切错误是什么?用户是如何尝试访问数据库的?
  • 我不会重新启动它。这是一个 PHP 脚本,它以我在脚本中传递的 mysql 用户身份执行 ALTER 命令。也许 ALTER 会触发数据库的重启?
  • 我想他的意思是,你是在发出 GRANT 命令后重新启动数据库吗?
  • 我在 GRANT 之后重启了 mysqld

标签: mysql permissions


【解决方案1】:

这些授权现在可以正常工作(用于备份)+ ALTER 命令:

授予 ALTER、LOCK TABLES、SELECT、INSERT、CREATE

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2014-05-03
    • 2015-07-10
    • 2020-05-03
    • 1970-01-01
    • 1970-01-01
    • 2015-05-29
    • 1970-01-01
    • 2018-12-07
    相关资源
    最近更新 更多