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用户管理的内容了,也是十分基础简单。如果喜欢我的内容,请点赞、收藏加关注,多多支持我这个编程小白啊,以及欢迎各位在评论区讨论交流,并指出我的不足,谢谢大家。

posted @ 2026-08-28 11:55  _梦影  阅读(7)  评论(0)    收藏  举报