在MySQL数据库中,用户信息、用户的密码、删除用户及分配权限等就是存储在MySQL数据库的"mysql.user"表中。下面展示了该表的部分字段信息:
数据库安装配置成功后,MySQL就创建了几个默认的用户。下表列举了这些用户以及他们的作用。
视频讲解如下:
一、创建MySQL的用户
在MySQL中,我们可以使用"create user"语句创建一个新的MySQL用户。下面通过一个具体的示例来演示如何在MySQL中创建用户。
(1)使用root用户登录MySQL
(2)创建一个新的用户user002。
代码语言:sql复制mysql> create user user002 identified by 'Welcome_1';
代码语言:sql复制提示:这里的密码使用了明文的形式进行创建。为了更加安全地保护用户的密码,在创建用户时,可以使用密文的形式。在MySQL 8中使用sha1()函数可以生成密码的对应密文。例如:
select sha1('Welcome_1');
输出的信息如下:
代码语言:sql复制 ------------------------------------------
| sha1('Welcome_1') |
------------------------------------------
| d809d427528be8821658f2013dedf69dbe0f23de |
------------------------------------------
(3)查询"mysql.user"表中的信息。
代码语言:sql复制mysql> use mysql;
mysql> select host,user from user where user='user002';
输出的信息如下:
代码语言:sql复制 ------ ---------
| host | user |
------ ---------
| % | user002 |
------ ---------
提示:此时用户user002不具备任何的权限。
(4)使用user002登录MySQL数据库,并查看当前实例上的数据库信息。
代码语言:sql复制mysql -uuser002 -pWelcome_1
mysql> show databases;
输出的信息如下:
代码语言:sql复制 --------------------
| Database |
--------------------
| information_schema |
--------------------
提示:从上面的输出可以看出,用户user002只能访问information_schema。
二、重命名MySQL用户
在MySQL中,我们可以使用"rename user"语句修改一个或多个已经存在的MySQL用户。下面通过一个具体的步骤来演示如何使用该语句 。
(1)查看"rename user"的使用帮助信息。
代码语言:sql复制mysql> help rename user;
输出的信息如下:
代码语言:sql复制Name: 'RENAME USER'
Description:
Syntax:
RENAME USER old_user TO new_user[, old_user TO new_user] ...
其中:
- old_user:MySQL中已存在的用户。
- new_user:新的MySQL用户。
(2)将user002用户重命名为user003。
代码语言:sql复制mysql> rename user user002 to user003;
提示:若MySQL数据库中的旧用户不存在或者新用户已存在,该语句执行时会出现错误。使用"rename user"语句,必须拥有MySQL数据库的 update权限或全局"create user"权限。
三、删除MySQL用户
当一个用户不再被使用时,可以使用"drop user"语句将该用户进行删除。例如:
代码语言:sql复制mysql> drop user user003;
代码语言:sql复制提示:这里也可以直接从"mysql.user"表中进行删除。
mysql> use mysql;
mysql> delete from user where user='user003';