MySQL之DCL管理用户

MySQL之DCL管理用户

1.DBA

DBA:数据库管理员

2.查询用户

host里的通配符%表示可以在任意主机使用用户登录数据库;localhost代表只可以在本机电脑登录

USE myql;-- root用户登录,切换到mysql数据库
SELECT * FROM USER;--查询user表

3.管理用户

DCL:管理用户,授权
含义:公司的有人访问同一个数据库,但是都拥用他们每个人自己的账户,不可能都用root账户,在系统自带的"mysql"数据库里的user表格里查看用户

CREATE USER '用户名'@'主机名' IDENTIFIED BY '密码';-- 添加用户
DROP USER '用户名'@'主机名';--  删除用户

4.修改密码

修改用户密码(8.5版本):
root用户登录,修改密码前先检查authentication_string是否为空:
如果不为空,将字段置为空再修改;

use mysql; 
update user set authentication_string='' where user='用户名';--将字段置为空
ALTER user '用户名'@'主机名' IDENTIFIED BY '新密码';

如果为空,则直接修改

use mysql; 
ALTER user '用户名'@'主机名字' IDENTIFIED BY '新密码';

6.权限管理

查询权限:

SHOW GRANTS FOR '用户名'@'主机名';

授予权限:
注:权限列表里可以写很多权限

grant 权限列表 on 数据库名.表名 to '用户名'@'主机名';

撤销权限:

revoke 权限列表 on 数据库名.表名 from '用户名'@'主机名';

7.忘记密码

mysql中忘记了root用户的密码?(8.5)
1.在管理员权限CMD中用关闭服务 : net stop mysql
2.命令行开输入:mysqld --console --skip-grant-tables --shared-memory
3.然后, 管理员权限启动另一个 CMD 命令行, 输入 mysql 直接登陆, 接着输入以下命令, 将 root 密码置为空
4.在第二个cmd窗口里输入:
UPDATE mysql.user SET authentication_string=’’ WHERE user=‘root’ and host=‘localhost’;
5.最后, 关闭两个 CMD
6.再通过管理员权限开启CMD,输入: net start mysql
7.输入 mysql -u root 直接登陆,并输入以下:
ALTER USER ‘root’@‘localhost’ IDENTIFIED BY ‘414524’;
8.mysql -uroot -p414524 即可登录

image-20220114230051480

image-20220114230139535

image-20220114230327713

image-20220114230834758

image-20220114230934263

8.演示(查询用户)

这个是自己电脑的

image-20220114202035855

这个是阿里云服务器的

image-20220114210702718

9.演示(管理用户)

root用户登录
use mysql
CREATE USER 'qwwr'@'localhost' IDENTIFIED BY '123';
CREATE USER 'lisi'@'%' IDENTIFIED BY '123';
drop user 'qwwr'@'localhost' ;

image-20220114204832754
image-20220114204852621
image-20220114204939345
image-20220114205048923
image-20220114205237665
image-20220114205321741
image-20220114205643843
image-20220114205700719

10.演示(修改密码)

update user set authentication_string='' where user='lisi';-- 将字段置为空
ALTER user 'lisi'@'%' IDENTIFIED BY '789';-- 修改密码为789

image-20220114223213331
image-20220114223346028
image-20220114223421423

11.演示(权限管理)

SHOW GRANTS FOR 'lisi'@'%';
SHOW GRANTS FOR 'root'@'localhost';

grant select  on db3.account to  'lisi'@'%';
grant select,delete,update on db3.account to  'lisi'@'%';
GRANT ALL ON *.* TO 'lisi'@'%';  -- 给lisi所有权限

REVOKE ALL ON  *.*  FROM 'lisi'@'%';

注:这表格的意思是,lisi用户目前只有一个权限,即可以登录的权限

image-20220114231922418

发现没有权限,使用不了

image-20220114232410992

发现root用户有很多权限

image-20220114232638686
image-20220114233912039

只能够查询db3的count表

image-20220114234225973
image-20220114234529079
image-20220114234629378
image-20220114234913230
image-20220114235445331
image-20220115000128503
image-20220115000228891

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

GoGo在努力

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值