MySQL用户创建、登录等

当我们创建了一个新的用户,但是它没有权限创建数据库

可以使用GRANT语句来授予该权限需要确保该用户拥有CREATE DATABASE权限

执行这个语句,你应该能够成功授予 'user01'@'localhost' 创建数据库的权限。

GRANT CREATE ON *.* TO 'user01'@'localhost';
  1. *.* 表示所有数据库的所有表。如果你只想授予创建数据库的权限而不关心特定数据库,可以使用这个通配符。
  2. 请确保你具有足够的权限来执行 GRANT 语句,通常只有具有 GRANT 权限的管理员用户才能执行此操作。

MySQL用户的添加、删除、登录、权限设置等内容

添加用户

create user 'user01' @'localhost' identified by 'user01';

这个语句将创建一个名为user01的MySQL用户,该用户只能从本地主机(localhost)登录,并且使用user01作为密码进行身份验证。请确保在执行此语句之前,你具有足够的权限来执行这个操作。如果你没有足够的权限,需要使用具有适当权限的用户来执行此操作。

注:用户的添加修改删除等操作都是在root权限下操作的!

删除用户

drop user ‘user01’@’localhost’;

使用这个语句,你可以删除名为user01的MySQL用户,该用户只能从本地主机(localhost)登录。

查看所有用户

SELECT user, host FROM mysql.user;

这个查询将返回一个包含所有用户和主机信息的结果集,其中user列包含用户名,host列包含主机信息。这将允许你查看MySQL服务器上存在的所有用户及其对应的主机。请注意,只有具有足够权限的用户才能执行这个查询。

查看当前用户

这两个查询都将返回当前登录用户的用户名和主机信息。通常情况下,它们应该返回相同的结果,但有一些特殊情况下,CURRENT_USER()可能返回更详细的信息。

select current_user();
或select user();

登录新用户

这两个查询都将返回当前登录用户的用户名和主机信息。通常情况下,它们应该返回相同的结果,但有一些特殊情况下,CURRENT_USER()可能返回更详细的信息。

mysql -u user01 -p

修改用户名

使用这个语句,你可以将名为user01的MySQL用户重命名为user02,前提是你有足够的权限来执行此操作。请注意,MySQL用户名通常是区分大小写的,因此user01User01将被视为不同的用户名。

rename user 'user01'@'localhost' to 'user02'@'localhost';

你可以使用以下SQL查询语句来查看MySQL服务器上所有用户的用户名:

select user from mysql.user;

修改用户密码

这个语句将用户'User01'@'localhost'的密码更改为'user02'。请将'user02'替换为你希望为用户设置的新密码。确保你具有足够的权限来执行此操作,因为只有具有适当权限的用户才能更改其他用户的密码。

可以通过重新打开cmd控制台登录,检查密码修改是否成功

 alter user 'User01'@'localhost' identified by 'user02';

添加权限(注:添加权限是指,将root用户的数据库读取等权限赋予你所指定的用户。)

这个查询将返回用户'User01'@'localhost'的授权信息,显示该用户在MySQL服务器上被授予的权限。注:查看权限也需要在root权限下!

SHOW GRANTS FOR 'User01'@'localhost';

撤销权限

会将用户 'User01'@'localhost' 对数据库 testscore 表授予所有权限。ALL关键字表示所有权限,包括SELECT、INSERT、UPDATE、DELETE等等。这样,'User01'@'localhost'用户将被授予对 test.score 表的所有操作权限。

GRANT ALL ON test.score TO 'User01'@'localhost';

在User01用户下刷新权限,然后查看数据库可以检查权限是否撤销成功。撤销权限的格式还有其他的形式,但大概也都与此类似,有兴趣的可以查阅相关资料了解。

刷新系统权限表,即时生效

flush privileges;

FLUSH PRIVILEGES 是一个MySQL语句,它用于重新加载权限表,以便立即应用对用户权限的更改,而无需重新启动MySQL服务器。当你使用 GRANTREVOKE 命令更改了用户权限时,通常需要运行 FLUSH PRIVILEGES 以确保这些更改立即生效。

执行 FLUSH PRIVILEGES 后,MySQL会重新加载权限表,使任何新的或修改的权限立即生效,而不需要等待MySQL服务器重新启动。这可以在不中断MySQL服务的情况下管理用户权限。

请注意,从MySQL 5.7.6版本开始,FLUSH PRIVILEGES 不再是必需的,因为MySQL会自动管理权限表的刷新。但在某些情况下,手动运行它仍然是一个好习惯,以确保更改立即生效。

  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值