MySQL基础教程——用户管理
@
前言
在之前的学习中,我们对于MySQL的操作都是使用root管理员账号来操作的,由于管理员账号有着极高的权限,在使用的时可能因操作者的一时疏忽导致安全问题。因此使用普通用户账号以及进行用户管理是有一定的意义的。这就是本期将要介绍的内容MySQL的用户管理与相关操作。
一、用户管理
(一)用户信息查看
用以下指令查看一下用户管理的信息。
use database mysql;
select host,user,authentication_string from user;
desc user;

在显示出来的信息里,我们主要解释以下几个字段:
- host:表示这个用户可以从哪个主机登陆,localhost 表示只能从本机登陆,% 表示能任意主机登录
- user:用户名
- authentication_string:为用户被password函数加密后的密码
- *_priv: 用户拥有的权限
(二)用户创建
create user '用户名'@'登陆主机/ip' identified by '密码';
一个简单的例子:
create user 'aaa'@'localhost' identified by '12345678';
(三)用户删除
drop user '用户名'@'主机名';
我们先用查看用户信息的操作找到要删除的用户再进行删除,再进行查看。
select user,host,authentication_string from user;
drop user 'aaa'@'localhost';
(四)用户密码修改
1、自己改自己密码
set password=password('新的密码');
2、用root账号来修改指定用户的密码
set password for '用户名'@'主机名'=password('新的密码');
二、数据库的权限管理
MySQL数据库所提供的权限列表如下:

(一)授权
刚创建的用户没有任何权限,所以我们需要给用户授予该账户操作所需的权限。
grant 权限列表 on 库.对象名 to '用户名'@'登陆位置' [identified by '密码'];
- 权限列表如果是多个权限要用逗号分开
grant select on ... ;
grant select, delete, create on ... ;
grant all [privileges] on ... ; 表示赋予该用户在该对象上的所有权限
- ' .*' 前面再加星号代表本系统中的所有数据库的所有对象(表,视图,存储过程等)
- 库.* 表示某个数据库中的所有数据对象(表,视图,存储过程等)
- identified by可选, 如果用户存在,赋予权限的同时修改密码,如果该用户不存在,就是创建用户。
如果发现赋予权限后,没有生效,执行如下指令强制刷新一下权限:
flush privileges;
(二)回收权限
revoke 权限列表 on 库.对象名 from '用户名'@'登陆位置';
结语
以上便是MySQL用户管理的内容了,也是十分基础简单。如果喜欢我的内容,请点赞、收藏加关注,多多支持我这个编程小白啊,以及欢迎各位在评论区讨论交流,并指出我的不足,谢谢大家。

浙公网安备 33010602011771号