MySQL 数据库用户角色相关操作

一、mysql database user table

MySQL中有一个mysql 数据库,其中的user数据表存放着数据库对用户角色的相关处理,但是单纯的使用该表增删插入,会造成一些问题,原因在于数据库角色管理并不只在一张表里,各表之间相互关联。

二、使用用户相关命令进行管理

相关概念:用户名、主机号、用户帐号
用户帐号包括两个部分一个是用户名,一个是主机号,主机号是登陆mysql时的地址,本地登陆采用localhost;

1.添加用户帐号并设置密码

create user 'hanzhen'@'localhost' 
identified by '123456';
grant usage on *.* to 'hanzhen'@'hanzhen_home'
identified by '12345';
  • 上边创建了一个两个帐号,一个帐号是本地登陆,一个是hanzhen_home代表的主机号。密码是各自登陆的密码,要说明的是密码是加密后存储的。
  • grant 也可以创建,当未查询到用户名时会自动创建。不过还是建议先用create 创建
  • 查询用户帐号
    这里写图片描述

2.删除帐号

drop user '用户名'@'主机号';

3.修改密码

set password for 'hanzhen'@'localhost'=password("123456789");

4.进行权限控制

上边创建数据库时默认是给了用户 usage on . 即对所有的数据库和表无权限(除了mysql 自带视图只读数据库information_schema)

  • 登陆创建帐号,查看相关权限
    登陆账户

  • 为hanzhen@localhost 赋予某个数据库某个表的查询,添加权限,并进行测试
    (1)在root 账户下查询myTest数据库情况如下
    这里写图片描述
    这里写图片描述
    (2)为hanzhen@localhost 赋予myTest 数据库student 表的查看,更改权限

grant select,update on myTest.student to 'hanzhen'@'localhost';

  • (3)hanzhen@localhost再次查看数据库
    这里写图片描述
    查看数据表
    这里写图片描述
    测试查询,更改,删除数据
    这里写图片描述
    这里写图片描述
    查询修改均成功
    这里写图片描述
    删除提示无权限。

猜你喜欢

转载自blog.csdn.net/hanzhenbushihu/article/details/80800594