MySQL从入门到精通高级篇MySQL用户的创建_修改_删除以及密码的设置

Posted 码农飞哥

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了MySQL从入门到精通高级篇MySQL用户的创建_修改_删除以及密码的设置相关的知识,希望对你有一定的参考价值。

您好,我是码农飞哥,感谢您阅读本文,欢迎一键三连哦
💪🏻 1. Python基础专栏,基础知识一网打尽,9.9元买不了吃亏,买不了上当。 Python从入门到精通
❤️ 2. Python爬虫专栏,系统性的学习爬虫的知识点。9.9元买不了吃亏,买不了上当 。python爬虫入门进阶
❤️ 3. Ceph实战,从原理到实战应有尽有。 Ceph实战
❤️ 4. Java高并发编程入门,打卡学习Java高并发。 Java高并发编程入门
😁 5. 社区逛一逛,周周有福利,周周有惊喜。码农飞哥社区,飞跃计划
全网同名【码农飞哥】欢迎关注,个人VX: wei158556

文章目录

1. 要点说明

本文首先会重点介绍在mysql数据库中如何创建用户,修改用户,删除用户以及进行密码设置。

2. 环境

环境版本
Red Hat4.8.5-39
MySQL5.7

1. 查看所有用户

在MySQL数据库中,用户信息都会存放在mysql数据库的user表中,只需要查询该表即可获取所有用户

select host,user from user;


这里是以root用户来进行查询的,其中host表示主机:localhost 表示只能本机连接(不能远程连接),而%则既可以本机连接又可以远程连接。user表示用户的账户。

3.创建用户

在MySQL数据库中,官方推荐CREATE USER 语句来创建新用户,在MySQL版本移除了PASSWORD加密方法,因此不在推荐直接使用INSERT语句直接操作MySQL中的user表来增加用户。
使用CREATE USER语句来创建新用户时,必须拥有CREATE USER权限。每添加一个用户,CREATE USER 语句会在mysql数据库的user表中增加一条记录,但是新创建的账户没有任何权限,如果添加的账户已经存在,CREATE USER语句就会返回一个错误。
CREATE USER语句的基本语法形式如下:

CREATE USER 用户名 [IDENTIFIED BY '密码'][,用户名 [IDENTIFIED BY '密码']]
  1. 用户名参数表示新建用户的账号,由用户(User) 和主机名(Host)构成,默认的Host是%;
  2. “[]” 表示可选,也就是说,可以指定用户登录时需要密码验证,也可以不指定密码验证,这样用户可以直接登陆,不过,这种不指定密码的方式不安全,不推荐使用。如果指定密码值,这里需要使用IDENTIFIED BY 指定明文密码值。
  3. CREATE USER语句可以同时创建多个用户。
    举例:
 create user 'zhangsan' identified by 'Abc123456&';


之所以,密码设置的这么复杂,是因为MySQL数据库中设置了密码的校验规则比较强。不然的话就会报如下错误:

mysql> create user 'zhangsan' identified by 'abcd1234';
ERROR 1819 (HY000): Your password does not satisfy the current policy requirements

查看密码的校验规则可以执行如下语句:

SHOW VARIABLES LIKE 'validate_password%';


其中,
validate_password_number_count指定了密码中数据的长度,
validate_password_special_char_count指定了密码中特殊字符的长度,
validate_password_mixed_case_count指定了密码中大小字母的长度。
validate_password_policy类型

policy说明
0 or LOWLength(只限制了长度)
1 or MEDIUMLength; numeric, lowercase/uppercase, and special characters
2 or STRONGLength; numeric, lowercase/uppercase, and special characters; dictionary file
如果,想要设置的简单一点策略可以执行如下命令:
set global validate_password_policy=LOW

4. 修改用户(很少用)

修改用户的功能用的比较少,这里的修改用户只修改用户的账户,只需要修改user表即可,语句就是简单的update语句。例如:将原来

UPDATE user set user='li4' WHERE user='lisi';

5. 删除用户

在MySQL数据库中,官方推荐DROP USER 语句来删除用户,该语句不仅会删除user表中的用户信息,还会做一些其他的设置,执行该命令之后,被删除的用户将不能重新登录MySQL。使用DROP USER 命令删除用户时必须要有该命令的权限。
DROP USER 语句的基本语法形式如下:

DROP USER 用户名 [@ 主机][,用户名].....
  1. 用户名参数表示要删除用户的账号,由用户(User) 和主机名(Host)构成;
  2. “[]” 表示可选,
  3. DROP USER语句可以同时创建多个用户,删除多个用户用逗号隔开。
    举例:
DROP USER 'li4'@'localhost';

6. 用户密码设置

6.1. 使用ALTER USER命令来修改当前用户密码:

用户可以使用ALTER命令来修改自身密码,如下语句代表修改当前登录用户的密码。基本语法如下:

ALTER USER USER() IDENTIFIED BY 'new_password'; 

下面使用ALTER 命令来修改zhangsan用户的密码,将密码改为"abc1234A%",命令如下:

6.2. 使用SET语句来修改当前用户密码:

使用root用户登录MySQL后,可以使用SET语句来修改密码,具体SQL语句如下:

SET PASSWORD='new_password';

该语句会自动将密码加密后再赋给当前用户。
下面使用SET语句来修改zhangsan用户的密码,将密码改成"abc1234A%"。

总结

本文详细介绍了在MySQL中如何创建用户,删除用户以及进行密码的设置。

以上是关于MySQL从入门到精通高级篇MySQL用户的创建_修改_删除以及密码的设置的主要内容,如果未能解决你的问题,请参考以下文章

MySQL从入门到精通高级篇(二十一)数据库优化步骤_查看系统性能参数

MySQL从入门到精通高级篇(二十一)数据库优化步骤_查看系统性能参数

MySQL从入门到精通高级篇(二十)适合创建索引的11种情况&不适合创建索引的7种情况,万字长文

MySQL从入门到精通高级篇(二十)适合创建索引的11种情况&不适合创建索引的7种情况,万字长文

MySQL从入门到精通高级篇MySQL表的存储引擎,InnoDB与MyISAM的对比

MySQL从入门到精通高级篇MySQL权限管理与控制