MySQL数据库进阶—数据库用户管理

MySQL数据库进阶—数据库用户管理

  • 1、创建用户
    • 查看用户
    • 改用户名
  • 删用户
    • 修改当前用户密码
    • 忘记root密码且无法登录情况修改root密码
    • 给创建的用户进行授权
  • 六种约束

1、创建用户

create user ‘user’@‘localhost’ identified by ‘123’;

用户名:
来源地址:仅主机使用‘localhost’,若所有主机允许登录则使用通配符:%
密码:
	明文密码:直接输入
	密文密码:先使用password进行加密,再将加密信息输入
	无密码:省略identified by部分即可,
	

MySQL数据库进阶—数据库用户管理_第1张图片

查看用户


select User,authentication_string,Host from mysql.user

MySQL数据库进阶—数据库用户管理_第2张图片

改用户名

rename user 'user'@'localhost' to 'test1'@'localhost';

在这里插入图片描述

删用户

drop user 'YGB11'@'localhost';

在这里插入图片描述

修改当前用户密码

set password for 'YGB1'@'localhost' = password('321');

在这里插入图片描述

忘记root密码且无法登录情况修改root密码

1. 找到文件:my.cnf
在这里插入图片描述
2. 修改文件:my.cnf
在这里插入图片描述
3. 登录mysql修改密码命令:update mysql.user set authentication_string = password(‘1234’) where user='root’
在这里插入图片描述

  1. 退出删除:skip-grant-table
  2. 完成了root密码修改。

给创建的用户进行授权

GRANT语句:专门用来设置数据库用户的访问权限。当指定的用户名不存在时,GRANT语句将会创建新的用户;当指定的用户名存在时,GRANT 语句用于修改用户信息。
GRANT 权限列表 ON 数据库名.表名 TO '用户名'@'来源地址' [IDENTIFIED BY '密码'];

#权限列表:用于列出授权使用的各种数据库操作,以逗号进行分隔,如“select,insert,update”。使用“all”表示所有权限,可授权执行任何操作。
#数据库名.表名:用于指定授权操作的数据库和表的名称,其中可以使用通配符“*”。例如,使用“kgc.*”表示授权操作的对象为 kgc数据库中的所有表。
#‘用户名@来源地址’:用于指定用户名称和允许访问的客户机地址,即谁能连接、能从哪里连接。来源地址可以是域名、IP 地址,还可以使用“%”通配符,表示某个区域或网段内的所有地址,如“%.accp.com”、“192.168.80.%”等。
#IDENTIFIED BY:用于设置用户连接数据库时所使用的密码字符串。在新建用户时,若省略“IDENTIFIED BY”部分, 则用户的密码将为空。
例:允许用户 zhangsan 在本地查询 ali数据库中 所有表的数据记录,但禁止查询其他数据库中的表的记录。

授权查看指定的库内指定的表。
在这里插入图片描述

允许所有终端连接MySQL中test1用户。
在这里插入图片描述
查看设定的权限
MySQL数据库进阶—数据库用户管理_第3张图片
取消设定的权限
MySQL数据库进阶—数据库用户管理_第4张图片

六种约束

主键约束 primary key
外键约束 foreign key
非空约束 not null
唯一约束 unique [key|index]
默认值约束 default
自增约束 auto_increment

你可能感兴趣的:(MySQL)