首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何将所有特权授予我创建的“user @%”的新用户

如何将所有特权授予我创建的“user @%”的新用户
EN

Stack Overflow用户
提问于 2021-04-26 06:54:58
回答 1查看 123关注 0票数 2

最近我切换到了MySQL 8;之前我在GCP中使用了MySQL 5.7。我知道像这样的问题已经问过了,但我没有任何运气。我的问题是,我想创建一个新用户--只需说'user1‘,并将所有权限授予所有数据库上的用户帐户。

用于创建用户的查询:

代码语言:javascript
复制
CREATE USER 'user-1'@'%' IDENTIFIED BY 'user_password';

特权:

代码语言:javascript
复制
GRANT ALL PRIVILEGES ON *.* TO 'user-1'@'%';

此权限查询用于处理MySQL 5.7,但当我尝试在MySQL 8中运行此查询时,会得到此错误( MySQL以根用户身份登录的,MySQL在GCP中):

代码语言:javascript
复制
SQL Error (1045): Access denied for user 'root'@'%' (using password: YES)

我还试着像这样一个接一个地运行这个查询:

代码语言:javascript
复制
CREATE USER 'user-1'@'%' IDENTIFIED BY 'user_password';


GRANT ALL PRIVILEGES ON *.* TO 'user-1'@'%';

但我还是犯了同样的错误。我了解到,在MySQL 8中,本地主机根用户拥有所有特权,但我的服务器位于Google中,因此如何将所有特权授予我创建的用户?

当我在mysql-8中运行这个查询时(我使用HeidiSQL连接数据库并运行查询)

代码语言:javascript
复制
SELECT * FROM mysql.user;

我得到了这个输出:

其中有两个根用户:

  1. 其中一个主机是localhost/127.0.0.1 (拥有所有特权)。
  2. 对于其他主机是%(没有任何特权)。

我想我是以host-%用户身份登录的,因为我的服务器在GCP中,所以我不能给我创建的用户任何特权。那么是否有任何方法可以对

代码语言:javascript
复制
root@%

这样我就可以给予其他用户完全的权限,因为我不认为有任何方法可以作为root@localhost登录

EN

回答 1

Stack Overflow用户

发布于 2021-04-26 14:12:58

这里的问题是,您正在尝试创建一个超级用户,这在云SQL中是不受支持的,正如您在这份文件中看到的那样。

Cloud不支持SUPER特权,这意味着GRANT ALL PRIVILEGES语句无法工作。作为替代,您可以使用GRANT ALL ON %.*

上述选项可能足以授予您所期望的权限。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/67262069

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档