4.用户管理

在安装数据库的时候,我们系统为我们提供了一个超级管理员root,它可以对数据库进行任何操作,在实际工作中,我们不能允许团队中每个成员都具有这样的权限,那么我们是否可以添加一些用户,并且控制这些用户的权限呢?答案是肯定,这里我们就来学习下在MySQL中我们应该如何对用户进行管理。

查看用户

执行上述命令,我们就可以看到MySQL中所有的用户了,这种办法其实是一个最简单的查询语句,后边会给大家介绍到查询相关的内容,它查询的是MySQL默认的mysql库中user表的内容,在这张表中存储着用户名、可以连接的主机IP地址以及相应的一些权限,如下是执行这条语句的结果:

在表格中列出的内容,就是MySQL库中已经存在的用户列表了。另外需要大家注意的是MySQL中默认是不区分大小写的,也就是说在这条语句我们也可以写成如下所示的几种形式:

# 列名不区分大小写

SELECT User FROM user;

# 关键字不区分大小写

select user from user;

# 表名不区分大小写

SELECT User FROM User;

在上述内容中,列名、关键字、表名这些你可能还不太明白,这些在后边说到查询相关的内容时会给大家介绍,大家只要记住,MySQL默认是不区分大小写的,一般我们会将MySQL中的关键字采用大写的形式,而具体的表名、列名这些内容采取小写的形式,希望大家现在就可以养成这样的习惯,在本书中我也会尽可能以一些符合大家习惯的写法呈现给大家,当然更多还是要大家在练习的时候多加注意。

添加用户

上边我们已经知道如何查看MySQL中已经存在的用户了,这里我们需要了解下如何在MySQL中添加一个用户。要在MySQL中添加一个用户,我们需要执行如上命令,这里我们以在MySQL中添加一个scott用户为例,给大家做一个简单的演示:

这里我们注意到这个命令和我们开始给出的添加用户的命令相比,缺少了IP相关的设置,这点需要向大家说明在这里,关于IP的设置是可以省略的,省略之后这个用户可以在任意一台计算机中直接连接(默认是%,表示任意主机),并不限定某个固定的IP地址。下边我们可以退出MySQL以scott身份重新登录到MySQL中,执行情况如下:

显然,我们创建的scott用户是可以登录成功的。不过在这里我们需要思考如下几个问题:

首先,在前边和大家介绍过,我们说MySQL默认是不区分大小写的,那么我们创建的用户是否也是可以忽略大小写的呢?也就是说 scott 和 Scott 是不是一样可以登录呢?

第二点,新创建的用户可以直接连接到MySQL,那么这个新创建的用户可以执行哪些操作呢?

第三点,在创建用户的时候引号是否可以忽略?是否只能使用单引号呢?

下边,我们就围绕这三个问题给大家来说明一下在创建用户的时候需要我们注意的几个问题。

首先,我们来测试下MySQL中的用户是否也是可以忽略大小写的,这里我们以Scott来登录测试一下:

很显然,以Scott身份登录的结果是失败的,这也就是说用户名是区分大小写的,这点需要我们特别注意,千万不要和之前我们所说的MySQL不区分大小写的内容混淆。

第二,到这里为止,我们之前都是使用root身份来操作数据库的,已经掌握的操作内容包括查看数据库相关信息、创建用户、查看用户等等,那么新创建的用户scott是否也可以进行同样的操作呢?这里我们可以来测试下:

在这里,我们首先想要scoot用户选择mysql数据库,可惜操作失败,接下来我们又以scott用户来创健一个用户,但是结果仍然是失败的,这也就是说新创建的用户可以进行的操作是有限制的,它只可以用来登录,无法进行其他操作。

第三点,我们再来看下创建数据库的时候一些细节问题,也就是在创建用户的时候用户名和密码是否必须使用单引号:

大家可以看到,如果不使用单引号包括用户名和密码的情况下,在执行创建用户的命令之后,结果是失败的,而使用双引号创建用户也是可以成功的。

到此为止,关于数据库中添加用户方面需要我们掌握的内容和需要注意的地方已经给大家列举出来了,特别是关于添加用户时需要我们注意的几个地方,希望大家多多注意。

用户信息

在添加用户之后,有可能我们需要对这个用户进行一些设置,比如修改一下用户名或者更改一下用户密码,这里我们就来和大家说一下关于用户名和用户密码应该如何进行设置。

如上所示,是我们修改用户名的方法,使用这个命令,我们可以对用户名进行修改,这里我们将新创建的scott用户修改为mike用户:

显然,我们修改用户名成功了,那么是否可以登录呢?下边我们来测试一下:

显然,修改用户名之后,我们依然可以登录成功,那么既然可以修改用户名,用户密码又该如何设置呢?如下就是设置用户密码的方法:

这里我们来修改mike用户的用户密码为mike,具体的执行情况如下:

在MySQL 5.7之前的版本中使用这个命令是可以成功的,但是 MySQL 5.7版本中使用这个命令不会成功,具体实现办法可以参考下关于MySQL安装过程的补充内容。

删除用户

前边我们学习了在MySQL中添加用户、设置用户名、设置用户密码相关的内容,最后我们需要掌握的就是如何删除用户,具体的命令如上所示,我们可以通过这个命令来删除下mike用户,具体执行情况如下:

这样我们就已经删除了mike用户,接下来我们不妨重新以mike用户登录系统尝试下是否仍然可以成功:

显然,这个用户已经被删除了,无法再次登录系统。

PS: 关于MySQL中用户操作的内容到这里就介绍完了,下一次我们将为大家介绍MySQL中权限操作的相关内容。

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20181122G0N88L00?refer=cp_1026
  • 腾讯「云+社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。

扫码关注云+社区

领取腾讯云代金券