User用户创建与删除及mysql密码修改

一、了解mysql库

在安装MySQL时,会自动安装一个名为mysql的数据库,该数据库中的表都是权限表,如user、db、host、tables_priv、column_priv和procs_priv,其中user表是最重要的一个权限表,它记录了允许连接到服务器的账号信息以及一些全局级的权限信息,通过操作该表就可以对这些信息进行修改。

ususer表的用户列:
包括Host、User、Password,分别代表主机名、用户名和密码。其中Host和User列为user表的联合主键,当用户与服务器建立连接时,输入的用户名、主机名和密码必须匹配user表中对应的字段,只有这3个值都匹配的时候,才允许建立连接。当修改密码时,只需要修改user表中Password字段的值即可。

user表的权限列:
包括Select_priv、Insert_priv、Update_priv等以priv结尾的字段,这些字段决定了用户的权限,其中包括查询权限、修改权限、关闭服务等权限。

user表对应的权限:
是针对所有数据库的,并且这些权限列的数据类型都是ENUM,取值只有N或Y,其中N表示该用户没有对应权限,Y表示该用户有对应权限,为了安全起见,这些字段的默认值都为N,如果需要可以对其进行修改。

user表的资源控制列是用于限制用户使用的资源,其中包括4个字段,具体如下:

max_questions:每小时允许用户执行查询操作的次数
max_updates:每小时允许用户执行更新操作的次数
max_connections:每小时允许用户建立连接的次数
max_user_connections:允许单个用户同时建立连接的次数个值的顺序、类型必须与对应的字段相匹配。

二、User用户的创建

1.查看下我们的数据库,数据库mysql跟上面介绍的是一样的:

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

2.创建方式有三种,我介绍两种,第三种不好吧,我现在感觉,可能以后用的多了就知道哪个好用了。
(1)使用GRANT语句创建用户 :
GRANT语句不仅可以创建新用户,还可以对用户进行授权,该语句会自动加载权限表,不需要手动刷新,而且安全、准确、错误少,因此,使用GRANT语句是创建用户最常用的方法
GRANT语句创建用户的语法格式如下图:

在这里插入图片描述

privileges参数表示该用户具有的权限信息,database.table表示新用户的权限范围表,可以在指定的数据库、表上使用自己的权限,username参数是新用户的名称,hostname参数是主机名,password参数是新用户的密码。

图片演示:

在这里插入图片描述

在这里插入图片描述

(2)使用CREATE USER语句创建用户
使用CREATE USER语句创建新用户时,服务器会自动修改相应的授权表,但需要注意的是,该语句创建的新用户是没有任何权限的。
CREATE USER语句创建用户的语法格式如下图:

在这里插入图片描述

username表示新创建的用户名,hostname表示主机名,IDENTIFIED BY关键字用于设置用户的密码,password表示用户的密码,PASSWORD关键字表示使用哈希值设置密码,该参数是可选的,如果密码是一个普通的字符串,就不需要使用PASSWORD关键字。

图片演示:

在这里插入图片描述
在这里插入图片描述

三、User用户删除

1.删除方式是俩个,我简单说下,简单理解记住这样不易忘记。用的时候也好用,很可以。

DROP USER ’ 用户名’@‘主机名’ ;

2.这个也可行,是用我门最熟悉的delete键英文,哈哈。

DELETE FROOM mysql.user WHERE Host=‘主机名’ AND User=‘用户名’;

在这里插入图片描述

四、修改mysql密码

1.root用户修改:

三种方式,我说下其中两种简单的:

(1)、使用update语句修改:

UPDATE mysql.user SET Password=PASSWORD(‘新密码’) WHERE User=‘用户名’ and Host=‘主机名’;

(2)、使用SET语句修改:

SET PASSWORD=PASSWORD(‘新密码’);

2.普通用户修改密码:

三种方式,我说下其中两种简单的:
(1)、update修改密码:

UPDATE mysql.user set Password=PASSWORD(‘新密码’) WHERE User=‘用户名’ and Host=‘主机名’;

(2)、set语句修改密码:

SET PASSWORD=PASSWORD(‘新密码’);

看出来了,root用户跟普通用户修改方式是一样的。PASSWORD=PASSWORD(‘新密码’)这个是使用的一个加密函数,对他进行加密。

最后,mysql忘记密码怎么办?下个记录下,现在太晚了,晚安@所有熬夜人!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值