9.权限管理和备份

本文最后更新于:2021年10月1日 晚上

权限管理和备份

用户管理

SQLyog可视化管理

SQL命令操作

用户表:mysql.user

本质:对表进行操作

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
-- 创建用户
create user syy identified by '12345'

-- 修改用户密码
set password = password('111111') -- 低版本可用
alter user 'root'@'localhost' identified by '111111' -- mysql8版本

-- 重命名
rename user syy to syy2

-- 用户授权 *.* 所有库的所有表
grant [all privileges] on 库.表 to syy2 -- all privileges 不包括 grant权限

-- 查看权限
show grants for syy2
show grants for root@localhost -- 查看用户权限要加主机

-- 撤销权限(哪些权限、在哪个库撤销、给谁撤销)
revoke all privileges on *.* from syy2

-- 删除用户
drop user syy2
  • @后面是用户表host的内容,要和修改的用户名对应才行

host中%,是设置远程连接,运行任何ip访问该账户

MySQL 备份

为什们要备份?

  • 保证重要的数据不丢失
  • 进行数据转移

备份方式

  • 直接拷贝物理文件,data文件

  • 在SQLyog这种可视化工具中手动转出

    • sql转储,导出一个.sql文件,执行该文件后会生成导出的库和表
  • 使用命令行导出

    • mysqldump命令

      备份原理是通过协议连接到 MySQL 数据库,将需要备份的数据查询出来,将查询出的数据转换成对应的insert 语句,当我们需要还原这些数据时,只要执行这些 insert 语句,即可将对应的数据还原

    1
    2
    3
    4
    5
    6
    7
    8
    -- 基本格式
    mysqldump -h[ip] -u[用户名] -p[密码] -P[端口号] 数据库名 表名 >导出的文件名.sql
    -- 导出所有的数据库
    mysqldump -uroot -p123456 --all-databases >D:/all.sql

    -- 导出多个指定表 或 数据库内所有表
    mysqldump -uroot -p123456 school student class >D:/a.sql
    mysqldump -uroot -p123456 school >D:/b.sql

导入

先在命令行中登录MySQL

如果是导入一张表,需要切换到对应需要导入的数据库;

如果是导入一个数据库,则不用

1
source d:/all.sql

本博客所有文章除特别声明外,均采用 CC BY-SA 4.0 协议 ,转载请注明出处!