数据库 用户管理与授权

数据库的数据管理

DDL: CTEATE DROP ALTER

dml:对数据进行管理

update insert into delete truncate

dql:查询语询select

dcl:权限控制语句grant revoke

数据库用户管理:

创建用户

修改用户的权限

删除用户。

grant要在终端执行。

        create user ‘ky32’@'localhost' identified by '123456';

create user 创建用户的开头

‘ky32’@'localhost':指定本机登录

‘ky32’@'192.168.176.30' 指定ip登录

‘ky32’@'192.168.176.%' 指定网段登录

‘ky32’@'%' MySQL通配符,表示所有都可以

ky32 表示的是用户名

localhost:新建的用户可以在那些主机上登录。即可以用IP地址,网段,主机名都可以

identified by '123456'; 新建的用户密码。

加密的方式创建密码

create user ‘ky32’@'localhost' identified by 'abc456';

select PASSWORD('abc456')

再把生成的密码放到by后面

给创建的用户赋权

在命令行执行

GRANT ALL PRIVILEGES on . 'ky32'@'localhost' identified by '123456';;

grant赋权的开头语句

all privileges 赋予所有权限

on*.*对所有库都有操作权限

on kgc.*只能对指定的库进行操作。

to 'ky32'@ ' localhost '

identified by '123456' ; 使用哪个密码进行登录。创建用户的时候不写,密码为空。

show grante for 'ky32'@'localhost' 查询用户的权限

只能从本地登录

在命令行登录test1

mysql -h 192.168.176.30 -u test1 -p123456;

在命令行给test1赋权

grant all privileges on kgc.* to 'test1'@'192.168.176.30' identified by '123456';

flush privileges; 刷新权限

show databases; 展示有哪些库

查看用户权限

show grants for 'test_123'@'192.168.176.%';

删除用户权限 :revoke

在命令行删除test1对所有库的所有权限

revoke all privileges on *.*from 'test1'@'192.168.176.30';

在命令行删除test1对kgc库的所有权限

revoke all privileges on kgc.*from 'test1'@'192.168.176.30';

只是删除权限,还可以登录

如何对权限进行控制:

添加单个权限。只给test1查kgc库的权限

grant select on kgc.* to 'test1'@'192.168.176.30' identified by '123456';

删除查的权限:

revoke select on kgc.* from 'test1'@'192.168.176.30' ;

给一个用户赋多个权限:多个权限之间用,隔开

grant select,insert on kgc.* to 'test1'@'192.168.176.30' identified by '123456';

在多个权限中选择性的删除一个

revoke drop on kgc.* from 'test1'@'192.168.176.30' ;

删除所有权限:

revoke all on kgc.* from 'test1'@'192.168.176.30' ;

给用户重命名:rename user ''@'' to ''@'';

rename user 'test1'@'192.168.176.30' to 'test_123'@'192.168.176.30'';

删除用户:drop user ''@'';

drop user 'test1'@'192.168.176.30' ;

给用户修改密码:

修改当前用户的密码(只能在命令行)

set password = password('')

给其他用户修改密码

set password for 'test1'@'192.168.176.30' =password('abc123')

忘记了root,如何恢复:

先修改配置文件

vim /etc/my.cnf

开启免密登录(在最后一行添加)

skip -grant-tables

重启mysql

systemctl restart mysqld

再登录之间回车

mysql -u root =p 回车

所有的用户信息都在use表当中。

核心字段

数据库 用户管理与授权_第1张图片

刷新

再删除免密码登录。

再重启mysql

用户权限管理:

create user '用户名'@'192.168.176.30' idetified by '123456';

grant all select,insert,drop

revoke

重命名 rename

drop user

set password = passwd('123456')

set password for '用户名'@'localhost' =password('abc123');

show grants for '用户名'localhost;

flush privileges;

你可能感兴趣的:(数据库)