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

how to add super privileges to mysql database?

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

1
SET GLOBAL log_bin_trust_function_creators =1;

Error:

SQL query:
SET GLOBAL log_bin_trust_function_creators =1
MySQL said:
#1227 - Access denied; you need the SUPER privilege for this operation

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


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

Go to PHPMYADMIN > privileges > Edit User > Under Administrator tab Click SUPER. > Go

如果要通过Console进行操作,请执行以下操作:

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

执行完以上代码后,以:

1
mysql> FLUSH PRIVILEGES;

您应该在*.*上执行操作,因为SUPER不是仅适用于一个数据库的特权,它是全局的。


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

然后您可以编辑用户


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

添加以下帐户和特权:

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


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

1
2
3
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

在极端机缘巧合的时刻,我做了以下事情:

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

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

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

它像魅力一样运作


授予超级用户后仅打印查询phpmyadmin。希望可以帮助控制台的人:

在$。$ TO-> $ = *上显示两个点之间带点时不显示。

REVOKE ALL PRIVILEGES ON . FROM 'usr'@'localhost'; GRANT ALL
PRIVILEGES ON . TO 'usr'@'localhost' REQUIRE NONE WITH GRANT OPTION
MAX_QUERIES_PER_HOUR 0 MAX_CONNECTIONS_PER_HOUR 0 MAX_UPDATES_PER_HOUR
0 MAX_USER_CONNECTIONS 0;

反之,取消拨款:

REVOKE ALL PRIVILEGES ON . FROM 'dos007'@'localhost'; REVOKE GRANT
OPTION ON . FROM 'dos007'@'localhost'; GRANT ALL PRIVILEGES ON .
TO 'dos007'@'localhost' REQUIRE NONE WITH MAX_QUERIES_PER_HOUR 0
MAX_CONNECTIONS_PER_HOUR 0 MAX_UPDATES_PER_HOUR 0 MAX_USER_CONNECTIONS
0;

在无业游民上检查应在任何MySQL中工作