数据库-用户权限管理

创建用户:

create user 'test'@'localhost' identified by '123456';

create user 创建用户的固定开头

'test'@'localhost' test为用户名,

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

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

如何以加密的形式创建用户:

select PASSWORD('abc123');

数据库-用户权限管理_第1张图片

如何给创建的用户赋权:

grant all privileges on *.* to 'test'@'localhost' identified by '123456';

grant 赋权的开头语句

all privileges 赋予所有权限

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

grant all privileges on kgc.* to 'test'@'localhost' identified by '123456';

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

to 'test'@'localhost' 赋权给哪个用户

identified by '123456'使用哪个密码进行登录,创建用户的时候可以省略,密码为空。

要在命令行登录赋予权限:

Show grants for 'test'@'localhost';查看

赋权之前一定要刷新

Flush privileges;

小练习:

  1. 创建一个用户名 test1
  2. 第二个只允许该用户从20.0.0.52 这个终端登录
  3. 第三个只能对kgc库,有权限,其他库一律不行

数据库-用户权限管理_第2张图片

从其他客户端登录的方式:

数据库-用户权限管理_第3张图片

如何删除用户的权限:

回终端执行

错误书写:revoke all PRIVILEGES on *.* from 'test1'@'20.0.0.52';

删除用户权限一定要精确匹配,所以正确的书写方式:

删除用户的所有权限:revoke all PRIVILEGES on kgc.* from 'test1'@'20.0.0.52';

删除权限之后还是可以登录的

如何对权限进行控制:

只给用户查的权限

Grant select on kgc.* to test1@20.0.0.52 identified by ‘123456’;

如何删除select权限

revoke select on kgc.* from test1@20.0.0.52

如何给一个用户赋予多个权限:

grant select,insert,drop,update on laker.* to 'test1’@2’0.0.0.52'identified by '123456';

数据库-用户权限管理_第4张图片

删除单个权限:

数据库-用户权限管理_第5张图片

数据库-用户权限管理_第6张图片

删除全部权限:

数据库-用户权限管理_第7张图片

用户重命名:

rename user 'test1'@'20.0.0.52' to 'wang'@'20.0.0.52';

删除用户:

drop user 'test1'@'20.0.0.51';

修改当前用户的密码:只能在终端执行

set password = password('abc123');

修改其他用户的密码:

set password for 'wang'@'20.0.0.52' = password('abc123');

忘记root密码如何恢复:

  1. 改配置文件,设置免密登录

数据库-用户权限管理_第8张图片

数据库-用户权限管理_第9张图片

  1. 改密码:改的话必须要加密,回到命令行终端修改

数据库-用户权限管理_第10张图片

加密

数据库-用户权限管理_第11张图片

数据库-用户权限管理_第12张图片

你可能感兴趣的:(数据库,oracle,网络)