如何为mysql数据库添加超级权限?

时间:2012-08-14 04:58:35

标签: mysql

我正在尝试在mysql中执行查询。

SET GLOBAL log_bin_trust_function_creators =1; 
  

错误:

     

SQL查询:
    SET GLOBAL log_bin_trust_function_creators = 1
    MySQL说:
    #1227 - 拒绝访问;您需要此操作的SUPER权限

我想知道如何为任何数据库分配SUPER权限

5 个答案:

答案 0 :(得分:68)

您可以使用phpmyadmin添加超级权限:

  

转到PHPMYADMIN>特权>编辑用户>在管理员选项卡下单击超级。 >转到

如果您想通过Console执行此操作,请执行以下操作:

 mysql> GRANT SUPER ON *.* TO user@'localhost' IDENTIFIED BY 'password';

执行上述代码后,以:

结束
mysql> FLUSH PRIVILEGES;

您应该在上进行操作,因为SUPER不是仅适用于一个数据库的权限,而是全局的。

答案 1 :(得分:6)

您可以在此处查看权限。enter image description here

然后您可以编辑用户

答案 2 :(得分:2)

在Sequel Pro中,访问“用户帐户”窗口。请注意,任何MySQL管理程序都可以代替Sequel Pro。

添加以下帐户和权限:

GRANT SUPER ON *.* TO 'user'@'%' IDENTIFIED BY PASSWORD

答案 3 :(得分:0)

只有查询phpmyadmin在授予超级用户后打印。希望能帮助控制台的人:

ON $。$ TO->当你在它们之间放置两个点时,$ = *不显示。

  

上重新启用所有权限。来自' usr' @' localhost&#39 ;;全部授予   上的特权。来自' usr' @' localhost'要求无权使用   MAX_QUERIES_PER_HOUR 0 MAX_CONNECTIONS_PER_HOUR 0 MAX_UPDATES_PER_HOUR   0 MAX_USER_CONNECTIONS 0;

反之,删除grant:

  

上重新启用所有权限。来自' dos007' @' localhost&#39 ;; REVOKE GRANT   选项 FROM' dos007' @' localhost&#39 ;;在上授予所有特权。   TO' dos007' @' localhost'要求MAX_QUERIES_PER_HOUR 0   MAX_CONNECTIONS_PER_HOUR 0 MAX_UPDATES_PER_HOUR 0 MAX_USER_CONNECTIONS   0;

检查vagrant应该在任何mysql中工作

答案 4 :(得分:0)

在Centos 5上,使用正确的uid和pw(具有root用户访问权限)登录后,尝试从MySQL Shell中更改某些变量值时遇到各种错误。我遇到的错误是这样的:

mysql> -- Set some variable value, for example
mysql> SET GLOBAL general_log='ON';
ERROR 1227 (42000): Access denied; you need (at least one of) the SUPER privilege(s) for this operation

在一个极度偶然的时刻,我做了以下事情:

OS-Shell> sudo mysql                          # no DB uid, no DB pw

请注意,我没有提供数据库uid和密码

mysql> show variables;
mysql> -- edit the variable of interest to the desired value, for example
mysql> SET GLOBAL general_log='ON';

它就像一个魅力