解决Mysql8的远程权限问题

本文详细讲解了MySQL 8及以上与8版本以下用户权限管理的区别,涉及创建用户、授权、权限提升以及cmd登录操作,重点在于不同版本的权限设置命令和注意事项。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

mysql版本8及以上的,对于出现以下的情况时,

 Access denied for user '用户名'@'%' to database '数据库名'

需要使用

#先创建一个用户
create user '用户名'@'%' identified by '123456';

#再进行授权
grant all privileges on *.* to '用户名'@'%' with grant option;

的方式来更改对应的用户权限;

而mysql版本8以下的则使用

mysql> grant all privileges on *.* to '用户名'@'%' identified by '123456';

的方式来更改权限;

并且重要的是,更改权限时,必须要使用权限更高的用户,比如root@localhost这种之下,再使用上述的命令语句,不然就会出现以下报错:

Access denied; you need (at least one of) the CREATE USER privilege(s) for this operation

而使用高权限的用户进行命令语句操作时就可以正确执行:

mysql> grant all privileges on *.* to 对应的用户名@'%'  with grant option;
Query OK, 0 rows affected (0.03 sec)

再刷新权限就OK了:

mysql> flush privileges;
--执行结果如下:
Query OK, 0 rows affected (0.01 sec)

再切换到你已经改好权限的用户,在这个用户里创建你需要的数据库就行了:

--创建数据库
mysql> create database `JPJ`;
Query OK, 1 row affected (0.01 sec)

--使用这个数据库
mysql> use JPJ;
Database changed

关于登录上mysql,我选择使用cmd命令来操作:

#先找到你的电脑的mysql应用程序的当前目录:以下为我的举例:
C:\Users>cd \Program Files\MySQL\MySQL Workbench 8.0

#再使用下列方式来登录你的mysql账号:
C:\Users\Program Files\MySQL\MySQL Workbench 8.0\ mysql -u 你的用户名 -p

#退出当前mysql用户的方式:
mysql> exit;

注:以上内容仅出于解答个人疑问的原因而写,若有错误存在,还望各位大佬纠正!

2021-11-23 晚作

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值