【WEEK7】 【DAY2】权限管理和备份【中文版】

2024.4.9 Tuesday

8.权限管理和备份

8.1.用户管理

8.1.1.创建用户

-- 权限管理和备份 --
-- 创建用户:CREATE USER 用户名 IDENTIFIED BY '密码'
CREATE USER DDDDD IDENTIFIED BY '123456'

在这里插入图片描述

8.1.2.修改密码

8.1.2.1.修改当前用户密码
-- 修改密码(修改当前用户密码)
-- (旧版)5.5运行不了
SET PASSWORD('111111')
-- (新版)
ALTER USER 'kuangshen'@'%' IDENTIFIED BY '123456'
8.1.2.2.修改指定用户密码
-- 修改密码(修改指定用户密码)这行可以
SET PASSWORD FOR DDDDD = PASSWORD('111111')

在这里插入图片描述

8.1.3.重命名

RENAME USER 旧名字 TO 新名字

-- 重命名:RENAME USER 旧名字 TO 新名字(但是这个版本改不了)
RENAME USER 'DDDDD' TO 'QQQQ'
-- MySQL8要RENAME USER 'myuser'@'localhost' TO 'yan'@'localhost';
-- 修改端口RENAME USER 'xiaofu'@'localhost' TO 'xiaofu'@'%';

在这里插入图片描述

8.1.4.用户授权

(给所有的库、表授予全部权限,除了给其他用户授权的权限)

-- 用户授权(给所有的库、表授予全部权限,除了给其他用户授权的权限)
GRANT ALL PRIVILEGES ON *.* TO QQQQ

在这里插入图片描述

8.1.5.查询指定用户的权限

-- 查询指定用户的权限
SHOW GRANTS FOR QQQQ;
SHOW GRANTS FOR root@localhost; -- ROOT用户的权限是:GRANT ALL PRIVILEGES ON *.* TO 'root'@'localhost' IDENTIFIED BY PASSWORD '*81F5E21E35407D884A6CD4A731AEBFB6AF209E1B' WITH GRANT OPTION

在这里插入图片描述

在这里插入图片描述

8.1.6.撤销权限 REVOKE 权限列表 ON 表名 FROM 用户名

-- 撤销权限	REVOKE 权限列表 ON 表名 FROM 用户名
REVOKE ALL PRIVILEGES ON *.* FROM QQQQ

在这里插入图片描述

8.1.7.删除用户

-- 删除用户
DROP USER QQQQ

在这里插入图片描述

8.1.8.权限解释

-- 权限列表
ALL [PRIVILEGES]    -- 设置除GRANT OPTION之外的所有简单权限
ALTER    -- 允许使用ALTER TABLE
ALTER ROUTINE    -- 更改或取消已存储的子程序
CREATE    -- 允许使用CREATE TABLE
CREATE ROUTINE    -- 创建已存储的子程序
CREATE TEMPORARY TABLES        -- 允许使用CREATE TEMPORARY TABLE
CREATE USER        -- 允许使用CREATE USER, DROP USER, RENAME USER和REVOKE ALL PRIVILEGES。
CREATE VIEW        -- 允许使用CREATE VIEW
DELETE    -- 允许使用DELETE
DROP    -- 允许使用DROP TABLE
EXECUTE        -- 允许用户运行已存储的子程序
FILE    -- 允许使用SELECT...INTO OUTFILE和LOAD DATA INFILE
INDEX     -- 允许使用CREATE INDEX和DROP INDEX
INSERT    -- 允许使用INSERT
LOCK TABLES        -- 允许对您拥有SELECT权限的表使用LOCK TABLES
PROCESS     -- 允许使用SHOW FULL PROCESSLIST
REFERENCES    -- 未被实施
RELOAD    -- 允许使用FLUSH
REPLICATION CLIENT    -- 允许用户询问从属服务器或主服务器的地址
REPLICATION SLAVE    -- 用于复制型从属服务器(从主服务器中读取二进制日志事件)
SELECT    -- 允许使用SELECT
SHOW DATABASES    -- 显示所有数据库
SHOW VIEW    -- 允许使用SHOW CREATE VIEW
SHUTDOWN    -- 允许使用mysqladmin shutdown
SUPER    -- 允许使用CHANGE MASTER, KILL, PURGE MASTER LOGS和SET GLOBAL语句,mysqladmin debug命令;允许您连接(一次),即使已达到max_connections。
UPDATE    -- 允许使用UPDATE
USAGE    -- “无权限”的同义词
GRANT OPTION    -- 允许授予权限


/* 表维护 */

-- 分析和存储表的关键字分布
ANALYZE [LOCAL | NO_WRITE_TO_BINLOG] TABLE 表名 ...
-- 检查一个或多个表是否有错误
CHECK TABLE tbl_name [, tbl_name] ... [option] ...
option = {QUICK | FAST | MEDIUM | EXTENDED | CHANGED}
-- 整理数据文件的碎片
OPTIMIZE [LOCAL | NO_WRITE_TO_BINLOG] TABLE tbl_name [, tbl_name] ...

8.2.MySQL备份

8.2.1.数据库备份的必要性

  1. 保证重要数据不丢失
  2. 数据转移

8.2.2.MySQL数据库备份方法

8.2.2.1.直接拷贝数据库文件和相关配置文件(MySQL文件夹data文件)

在这里插入图片描述

8.2.2.2.使用数据库管理工具

右键目标文件夹,按如图蓝色高亮操作
在这里插入图片描述

想要导入则选择‘运行SQL文件’(但是‘查询’里的语句不会被备份。注意!)
在这里插入图片描述

8.2.2.3.使用命令行

输入:mysqldump -hlocalhost -uroot -p123456 school student >D:/a.sql
将在D盘存储school数据库中表student的内容于名为a.sql的文件
在这里插入图片描述

想要恢复则先登录mysql然后导入:(白色高亮)
在这里插入图片描述
记得更换目标数据库,否则会出现‘ERROR 1046 (3D000): No database selected’
在这里插入图片描述
在这里插入图片描述
理论上全是OK才算导入成功

-- 导出
1. 导出一张表 -- mysqldump -uroot -p123456 school student >D:/a.sql
  mysqldump -u用户名 -p密码 库名 表名 > 文件名(D:/a.sql)
2. 导出多张表 -- mysqldump -uroot -p123456 school student result >D:/a.sql
  mysqldump -u用户名 -p密码 库名 表123 > 文件名(D:/a.sql)
3. 导出所有表 -- mysqldump -uroot -p123456 school >D:/a.sql
  mysqldump -u用户名 -p密码 库名 > 文件名(D:/a.sql)
4. 导出一个库 -- mysqldump -uroot -p123456 -B school >D:/a.sql
  mysqldump -u用户名 -p密码 -B 库名 > 文件名(D:/a.sql)

可以-w携带备份条件

-- 导入
1. 在登录mysql的情况下:-- source D:/a.sql
  source 备份文件
2. 在不登录的情况下
  mysql -u用户名 -p密码 库名 < 备份文件

8.2.3.mysqldump客户端

8.2.3.1.作用
  • 转储数据库
  • 搜集数据库进行备份
  • 将数据转移到另一个SQL服务器,不一定是MySQL服务器
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值