31.MySQL中的用户管理

目录

1.创建用户

2.root密码丢失找回

3.修改用户

4.删除用户


1.创建用户

1)概述

  1. 由于MySQL中所有用户的信息都保存在mysql.user表中。

  2. 创建用户可以直接利用root用户登录MySQL服务器后,向mysql.user表中插入记录,但是在开发中为保证数据的安全,并不推荐使用此方式创建用户。

  3. 采用MySQL提供的CREATE USER语句创建用户。

  4. 采用MySQL提供的GRANT语句创建用户,在讲解权限时讲解

  5. 使用CREATE USER语句每创建一个新用户,都会在mysql.user表中添加一条记录,同时服务器会自动修改相应的授权表。

  6. 该语句创建的新用户默认情况下没有任何权限,需要使用GRANT进行授权。

语法:

CREATE USER [IF NOT EXISTS]
账户名 [用户身份验证选项][, 账户名 [用户身份验证选项]]…
[WITH 资源控制选项][密码管理选项 | 账户锁定选项]
  • CREATE USER可以一次创建多个用户,多个用户之间使用逗号分隔。

  • 账户名是由“用户名@主机地址”组成。

  • 其余选项在创建用户时,若未设置则使用默认值。

  • 用户名的设置不能超过32个字符,且区分大小写,但是主机地址不区分大小写。

CREATE USER语句选项的默认值:

  • 用户身份验证选项:由default_authentication_plugin系统变量定义的插件进行身份验证

  • 加密连接协议选项:NONE

  • 资源控制选项:N(表示无限制)

  • 密码管理选项:PASSWORD EXPIRE DEFAULT

  • 用户锁定选项:ACCOUNT UNLOCK

用户身份验证选项的设置仅适用于其前面的用户名,可将其理解为某个用户的私有属性。

其余的选项对声明中的所有用户都有效,可以将其理解为全局属性。

2)创建最简单的用户

CREATE USER 'test1';

查看用户是否已创建

SELECT host, user FROM mysql.user;

在创建用户时,若不指定主机地址、密码以及相关的用户选项,则表示此用户在访问MySQL服务器时,不限定客户端、不需要密码并且没有任何限制。

host的值为“%”表示任何主机,其值为localhost时,表本地主机,其值为空字符串(‘’)时,表示所有客户端。

用户名和主机名在设置时,若不包含空格、“-”等特殊字符,则可以省略引号。

当创建的用户名称为空字符串('')时,表示创建的是一个匿名用户,即登录MySQL服务器时不需要输入用户名和密码,这种操作会给MySQL服务器带来极大的安全隐患,因此不推荐用户创建并使用匿名用户操作MySQL服务器。

3)创建含有密码的用户

CREATE USER 'test2'@'localhost' IDENTIFIED BY '123456';

查看用户的密码

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值