您好,我是码农飞哥,感谢您阅读本文,欢迎一键三连哦。
💪🏻 1. Python基础专栏,基础知识一网打尽,9.9元买不了吃亏,买不了上当。 Python从入门到精通
❤️ 2. Python爬虫专栏,系统性的学习爬虫的知识点。9.9元买不了吃亏,买不了上当 。python爬虫入门进阶
❤️ 3. Ceph实战,从原理到实战应有尽有。 Ceph实战
❤️ 4. Java高并发编程入门,打卡学习Java高并发。 Java高并发编程入门
😁 5. 社区逛一逛,周周有福利,周周有惊喜。码农飞哥社区,飞跃计划
全网同名【码农飞哥】欢迎关注,个人VX: wei158556
文章目录
1. 要点说明
本文首先会重点介绍在MySQL数据库中如何创建用户,修改用户,删除用户以及进行密码设置。
2. 环境
环境 | 版本 |
---|---|
Red Hat | 4.8.5-39 |
MySQL | 5.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 '密码']]
- 用户名参数表示新建用户的账号,由用户(User) 和主机名(Host)构成,默认的Host是%;
- “[]” 表示可选,也就是说,可以指定用户登录时需要密码验证,也可以不指定密码验证,这样用户可以直接登陆,不过,这种不指定密码的方式不安全,不推荐使用。如果指定密码值,这里需要使用
IDENTIFIED BY
指定明文密码值。 - 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 LOW | Length(只限制了长度) |
1 or MEDIUM | Length; numeric, lowercase/uppercase, and special characters |
2 or STRONG | Length; 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 用户名 [@ 主机][,用户名].....
- 用户名参数表示要删除用户的账号,由用户(User) 和主机名(Host)构成;
- “[]” 表示可选,
- 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中如何创建用户,删除用户以及进行密码的设置。