数据库控制语言DCL

  • 我们现在默认使用的都是root用户,超级管理员,拥有全部的权限。但是一个公司里面的数据库服务器上面可能同时运行着很多个项目的数据库。所以,我们应该可以根据不同的项目建立不同的用户,分配不同的权限来管理和维护数据库。

数据库控制语言DCL_第1张图片 1.1 DCL语句的作用

  • DCL的作用是用于创建用户、删除用户、分配、删除权限给用户、修改密码。

数据库控制语言DCL_第2张图片

 1.2 创建用户

  • 格式:CREATE USER '用户名' @'IP地址'  IDENTIFIED   BY '密码';
  • 主机名的意义在于:该用户在哪个ip地址下可以登录。一个完整的用户名=ip地址+用户名
#该用户只能在我的当前ip地址上登录
CREATE  USER 'aaa'@'localhost'  IDENTIFIED  BY  'aaa';  
#创建一个不受ip地址限制的用户
CREATE  USER 'bbb'@'%'  IDENTIFIED  BY  'bbb'; 

 1.3 授权用户

  •  一个用户新创建的时候是没有任何权限的,只能看到一个information_schem数据库,如果需要看到其他的数据库,那么必须root用户授权才行。
  • 授权格式:GRANT  权限1,权限2,......ON  数据库名.表名   TO   ‘用户名’@‘主机名’;
  • 权限:select,delete,insert,update,drop,create    或者   all  代表了所有的权限。
#把test数据库的查看权限赋予给aaa用户
GRANT SELECT ON test.* TO 'aaa'@'localhost';
#把test数据库的插入权限赋予给bbb用户
GRANT INSERT ON test.* TO 'bbb'@'localhost';

1.4 撤销权限

  • 格式:REVOKE   权限1,权限2,.... ON  数据库.表名  FROM   '用户名' @‘主机名’;
#撤销aaa用户的插入权限
REVOKE INSERT ON test.*  FROM 'aaa'@'localhost'; 

1.5 删除用户

  • 格式:DROP  USER  ‘用户名’@‘主机名’;
  • 示例:DROP USER  'aaa'@'localhost';

1.6 查看权限

  •  格式:SHOW GRANTS  FOR  ‘用户名’@‘主机名’;
  • 示例:SHOW GRANTS  FOR   ‘root’@‘localhost’;

1.7.1 修改管理员密码

  •  修改管理员密码需要使用到mysql自带的工具mysqladmin.,
  • 格式(非登陆的情况下去使用的) mysqladmin  -u用户名  -p  password  新密码  回车  原密码

  • 示例:修改root用户的密码为aaa111

  • mysqladmin  -uroot   -p  password  aaa111  回车   原密码

1.7.2修改普通用户密码(需要在登录的情况下去使用):

  • 格式: `set password for '用户名'@'主机名' = password('新密码');`
  • 修改bbb的用户密码为abc

  • SET PASSWORD FOR 'bbb'@'%'=PASSWORD('abc');

 

 

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