当前位置: 首页 > article >正文

1 数据库(终):数据库管理员(数据可的备份与、DCL_管理用户)

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档

文章目录

  • 前言
  • 一、数据库的备份与还原
    • 1 使用命令行
    • 2 使用图形化工具
  • 二、DCL 管理用户、授权
    • 1 管理用户
      • (1)查询用户
      • (2)创建用户
      • (3)删除用户
      • (4)修改用户密码
      • (5)mysql中忘记了root用户密码怎么办?
    • 2 用户权限授予
      • (1)查询某个用户权限
      • (2)授予某个用户某些权限
      • (3)撤销某个用户某些权限


前言

一、数据库的备份与还原

1 使用命令行

  • 命分行:
    • 语法
      • 备份: mysqldump -u用户名 -p密码 数据库名 > 保存的路径(.sql文件)
      • 还原:
        1.登录数据库
        2.创建数据库
        3.使用数据库
        4.执行文件 source 文件路径

备份:

在这里插入图片描述
看一下备份的.sql里面有什么?
在这里插入图片描述
可以看到里面的其实就是将数据库里面的表重新创建并插入数据。
所以这种恢复数据库的方式,需要我们重新创建数据库才行

恢复:
在这里插入图片描述
这样就恢复了。

2 使用图形化工具

  • 图形化工具:
    这个就比较简单了,但是恢复同样要先创建数据库
    备份:
    在这里插入图片描述

在这里插入图片描述
恢复:
同样要先将数据库创建出来
在这里插入图片描述

在这里插入图片描述

二、DCL 管理用户、授权

DBA:数据库管理员

1 管理用户

(1)查询用户

查询用户:MySQL的用户在mysql数据库下的user表中,我们直接查询这张表就可以了

  • 1 切换到mysql数据库
    USE myql;
  • 2 查询user表
    SELECT * FROM USER;
-- 1 切换到mysql数据库
use mysql;
-- 2 查询user表
select * from user;

在这里插入图片描述
解释:
(1)其中root就是我们的根用户,Host指定的是允许登录的主机ip,如果是%就表明运行在任意ip登录
(2)其余三个账号是就不用管了,本来就有的。
(3)在表中用户password是加密的,所以我们看不到

(2)创建用户

我们不能直接往user表中insert数据,应该使用专门的创建用户语法

  • 语法: CREATE USER ‘用户名’@‘地址’ IDENTIFIED BY ‘密码’;
-- 创建一个zhangsan用户,密码111111
create user 'zhangsan'@'localhost' identified by '111111';
-- 创建一个lisi用户,密码123
create user 'lisi'@'%' identified by '123';  -- 其中统配符 % 表示可以在任意ip主机上使用这个账户登录

-- 2 查询user表
select * from user;

在这里插入图片描述
cmd中也能用lisi用户登录:
在这里插入图片描述

(3)删除用户

  • 语法:DROP USER ‘用户名’@‘主机名’;
-- 删除'zhangsan'@'localhost'用户
drop user 'zhangsan'@'localhost';
-- 删除'lisi'@'%'用户
drop user 'lisi'@'%';

(4)修改用户密码

  • 语法: ALTER USER ‘username’@‘host’ IDENTIFIED BY ‘new_password’;
    根据mysql版本不同,这个语法也有些不同
    当然,这个连root用户密码都可以这样修改
-- 修改 'lisi'@'%' 用户的密码为666666
ALTER USER 'lisi'@'%' IDENTIFIED BY '666666';

在这里插入图片描述

(5)mysql中忘记了root用户密码怎么办?

这个就有点麻烦了,这里就不演示了,直接参考视频

  • step1:cmd --> net stop mysql
    停止mysq1服务
    需要管理员权限运行该cmd
  • step2:使用无验证方式启动mysql服务: mysqld --skip-grant-tables
  • step3:打开一个新的cmd窗口,直接输入mysql命分,敲回车。就可以登录成功
  • step4:use mysql;
  • step5:update user set password = password(‘你的新密码’) where user =‘root’;
    ALTER USER ‘root’@‘localhost’ IDENTIFIED BY ‘new_password’;
    ALTER USER ‘root’@‘%’ IDENTIFIED BY ‘new_password’;
    这个根据你有没有%这种所有ip都能访问的root账号选择(所以这个很麻烦),通常情况下mysql只会给你创建一个’root’@‘localhost’,但也说不定
    这个就是上面修改用户密码,有好几种语法·,根据mysql的般本不同有的可能不行了,多找几个试试
  • step6:关闭两个窗口
  • step7:打开任务管理器,手动结束mysqld.exe 的进程
  • step8:启动mysql服务
  • step9:使用新密码登录。

2 用户权限授予

参考视频

(1)查询某个用户权限

  • 语法:SHOW GRANTS FOR 用户名;
-- 查询 ‘lisi’@‘%’ 用户的权限
show grants for 'lisi'@'%';

在这里插入图片描述
可以看到只有一个usage(登入)的权限

-- 查询root用户的权限
show grants for 'root'@'localhost';

在这里插入图片描述
可以看到root有所有的权限,select,insert等等

(2)授予某个用户某些权限

  • 语法: grant 权限列表 on 数据库名.表名 to ‘用户名’@‘主机名’;
    可以使用通配符,看下面例子
-- 给 'lisi'@'%' 用户授予查询db01.tb_emp表的权限
grant select on db01.tb_emp to 'lisi'@'%';
-- 给 'lisi'@'%' 用户授予查询db01下所有表的权限
grant select on db01.* to 'lisi'@'%';

-- 给 'lisi'@'%' 用户授予查询,插入,更新,删除db01.tb_emp表的权限
grant select,insert,update,delete on db01.tb_emp to 'lisi'@'%';

-- 给张三用户授予所有权限,在任意数据库,在任意表上,想当于root权限
grant all privileges on *.* to 'zhangsan'@'localhost';

(3)撤销某个用户某些权限

  • 语法:revoke 权限列表 on 数据库名.表名 from ‘用户名’@‘主机名’;
-- 撤销 'lisi'@'%' 用户对db01.tb_emp表的查询权限
revoke select on db01.tb_emp from 'lisi'@'%';

-- 撤销 'lisi'@'%' 用户对db01.tb_emp表的所有权限
revoke all privileges on db01.tb_emp from 'lisi'@'%';

-- 撤销;’zhangsan'@'localhost'用户的所有权限, 撤销后,只会剩下USAGE登入权限
revoke all privileges on *.* from 'zhangsan'@'localhost';

http://www.kler.cn/a/465205.html

相关文章:

  • Hadoop集群之间实现免密登录
  • 《Rust权威指南》学习笔记(三)
  • git:指令集
  • windows 图形基础架构简介
  • vip与haproxy构建nginx高可用集群传递客户端真实ip
  • git 创建tag, 并推送到远程仓库,启动actions构建release自动发布
  • STLG_01_05_程序设计C语言 - 数据类型概念解析
  • QT:控件属性及常用控件(1)------核心控件及属性
  • FortiAl为擎重塑网络与安全运营未来
  • k8s基础(1)—Kubernetes-Pod
  • 如何在2025年创建一个网站:使用US Domain Center和WordPress的终极指南
  • 玉米中的元基因调控网络突出了功能上相关的调控相互作用。\functions.R
  • 今日自动化编辑部今日自动化杂志社2024年第19期部分目录
  • 物联网控制期末复习
  • 嵌入式驱动开发详解9(platform驱动)
  • 实践:事件循环
  • STM32入门教程(CAN通信篇)
  • (leetcode算法题)​122. 买卖股票的最佳时机 II​ 和 123. 买卖股票的最佳时机 III
  • PostgreSQL-01-入门篇-简介
  • Redis数据库——数据结构类型
  • 基于16QAM的载波同步和定时同步性能仿真,采用四倍采样,包括Costas环和gardner环
  • tiny RISCV项目学习
  • 系统设计——大文件传输方案设计
  • Springboot 下载附件
  • 靶场搭建问题(技巧)总结
  • DEWA功能介绍