【问题标题】:Granting all privelages to myself in mySQL在 mySQL 中向自己授予所有权限
【发布时间】:2017-10-25 17:30:53
【问题描述】:

我在运行触发器时遇到“无法在系统表上创建触发器”错误,并在网上查看了如何解决此问题,一种解决方案是授予用户对架构的权限。现在我正在这样做,但mysql说我在'localhost'附近的第1行有语法错误。这是我的查询,我基于MySQL网站。谁能告诉我出了什么问题,以便我可以运行触发器?

CREATE USER 'root' @ 'localhost' IDENTIFIED BY 'password';
GRANT ALL PRIVILEGES ON mysql.* TO 'root' @ 'localhost';

【问题讨论】:

  • 在两个查询中删除空格 'root' @ 'localhost' 应该是 'root'@'localhost'
  • 我改变了它,现在它给了我一个错误操作 CREATE USER failed for 'root'@'localhost'

标签: mysql


【解决方案1】:

第一个查询是多余的。 root 应该已经存在于您的数据库中,因此您不需要创建它。因此删除空格后出现错误。

第二个查询不会改变任何东西,因为默认情况下 root 应该拥有 mysql 的所有权限。所以你不需要授予root所有权限给mysql。*

运行以下命令授予您的个人帐户所有权限:

GRANT ALL PRIVILEGES ON mysql.* TO 'username'@'localhost';

【讨论】:

  • 这对授予我特权很有用,但我仍然收到错误“无法在系统表上创建触发器”
  • 您不能在系统表上创建触发器。正如这篇文章所述,这是一个“痛苦的事实”stackoverflow.com/a/13430059/5535323
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2020-11-22
  • 2014-04-25
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-04-28
  • 2019-02-17
相关资源
最近更新 更多