一、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再次查看数据库
查看数据表
测试查询,更改,删除数据
查询修改均成功
删除提示无权限。