MySQL的权限设置和备份还原

本文涉及的产品
云数据库 RDS MySQL,集群系列 2核4GB
推荐场景:
搭建个人博客
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
云数据库 RDS PostgreSQL,集群系列 2核4GB
简介:

    MySQL数据库系统的维护工作主要包括用户权限的设置、数据库的备份与恢复,本篇博客将对进行这些操作进行讲解


数据库的用户授权

    MySQL数据库的root用户账号拥有对所有库、表的全部权限,频繁使用root账号会给数据库服务器带来一定的风险。在工作中,通常会建立一些低权限的用户,只负责对一部分库、表的管理和维护操作,甚至对查询、修改、删除等各种操作做进一步的细化限制,从而将数据库的风险降至最低


1. 授予权限

    grant语句:专门用来设置数据库的访问权限。当指定的用户名不存在时,grant语句会创建新的用户,否则,将修改用户的信息,语句格式如下:

1
grant 权限列表 on 库名.表名 to 用户名@来源地址 [ identified by  '密码' ]

其中,各字段含义如下:

权限列表:如“select,insert,update”,使用逗号分隔,使用all表示所有权限

库名.表名:库和表的名称,可使用通配符“*”,例如,“yang.*”表示授权对象为yang库中的所有表

用户名@来源地址:来源地址可以是域名、IP地址,还可以使用通配符“%”,表示某个区域或网段,如“%.ysf.com”、“192.168.1.%”等

identified by:用户设置用户的密码,若省略,则用户的密码为空

    使用grant语句授权的用户记录,会保存到mysql库中的user、db、host、tables_priv等相关表中,无须刷新即可生效


2. 查看权限

    show grants语句:专门用来查看数据库用户的授权信息,通过for子句可指定查看的用户对象,语句格式如下:

1
show grants  for  用户名@来源地址



3. 撤销权限

    revoke语句:用户撤销指定用户的数据库权限,撤销权限后的用户仍可连接到MySQL服务器,但禁止执行对应的数据库操作,语句格式如下:

1
revoke 权限列表 on 数据库名.表名 from 用户名@来源地址

杨书凡42.png

    若希望了解更多的MySQL语句的知识,可参阅MySQL的在线参考手册



数据库的备份与恢复

    MySQL的备份可以采用多种方式

方式1:直接打包数据库文件夹/usr/local/mysql/data

杨书凡41.png


方式2:使用专用的导出工具,如MySQL自带的倾倒工具mysqldump

(1)备份数据库

命令格式如下:

1
2
3
[root@localhost ~] # mysqldump [选项] 库名 [表名1] [表名2] … > /备份路径/备份文件名         //备份指定库中的部分表
[root@localhost ~] # mysqldump [选项] --databases 库名1 [库名2] … > /备份路径/备份文件名         //备份一个或多个库(包含其中所有表)
[root@localhost ~] # mysqldump [选项] --all-databases  > /备份路径/备份文件名                //备份MySQL服务器中所有的库

杨书凡43.png


(2)恢复数据库

命令格式如下:

1
[root@localhost ~] # mysql [选项] [库名] [表名] <  /备份路径/备份文件名

杨书凡44.png

    当备份文件只包含表的备份时,导入时,必须指定库名,且库必须存在

    当备份文件包含完整的库信息时,导入时,无须指定库名    











本文转自 杨书凡 51CTO博客,原文链接:http://blog.51cto.com/yangshufan/2050175,如需转载请自行联系原作者
相关实践学习
如何快速连接云数据库RDS MySQL
本场景介绍如何通过阿里云数据管理服务DMS快速连接云数据库RDS MySQL,然后进行数据表的CRUD操作。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助 &nbsp; &nbsp; 相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
目录
相关文章
|
3月前
|
存储 关系型数据库 MySQL
mysql数据库备份与恢复
MySQL数据库的备份与恢复是确保数据安全性和业务连续性的关键操作。
130 4
|
1月前
|
关系型数据库 MySQL Linux
Linux环境下MySQL数据库自动定时备份实践
数据库备份是确保数据安全的重要措施。在Linux环境下,实现MySQL数据库的自动定时备份可以通过多种方式完成。本文将介绍如何使用`cron`定时任务和`mysqldump`工具来实现MySQL数据库的每日自动备份。
109 3
|
1月前
|
监控 关系型数据库 MySQL
Linux环境下MySQL数据库自动定时备份策略
在Linux环境下,MySQL数据库的自动定时备份是确保数据安全和可靠性的重要措施。通过设置定时任务,我们可以每天自动执行数据库备份,从而减少人为错误和提高数据恢复的效率。本文将详细介绍如何在Linux下实现MySQL数据库的自动定时备份。
50 3
|
1月前
|
关系型数据库 MySQL Docker
docker环境下mysql镜像启动后权限更改问题的解决
在Docker环境下运行MySQL容器时,权限问题是一个常见的困扰。通过正确设置目录和文件的权限,可以确保MySQL容器顺利启动并正常运行。本文提供了多种解决方案,包括在主机上设置正确的权限、使用Dockerfile和Docker Compose进行配置、在容器启动后手动更改权限以及使用 `init`脚本自动更改权限。根据实际情况选择合适的方法,可以有效解决MySQL容器启动后的权限问题。希望本文对您在Docker环境下运行MySQL容器有所帮助。
201 1
|
1月前
|
SQL NoSQL 关系型数据库
|
1月前
|
关系型数据库 MySQL Linux
Linux系统如何设置自启动服务在MySQL数据库启动后执行?
【10月更文挑战第25天】Linux系统如何设置自启动服务在MySQL数据库启动后执行?
121 3
|
1月前
|
关系型数据库 MySQL Linux
在 CentOS 7 中通过编译源码方式安装 MySQL 数据库的详细步骤,包括准备工作、下载源码、编译安装、配置 MySQL 服务、登录设置等。
本文介绍了在 CentOS 7 中通过编译源码方式安装 MySQL 数据库的详细步骤,包括准备工作、下载源码、编译安装、配置 MySQL 服务、登录设置等。同时,文章还对比了编译源码安装与使用 RPM 包安装的优缺点,帮助读者根据需求选择最合适的方法。通过具体案例,展示了编译源码安装的灵活性和定制性。
166 2
|
28天前
|
关系型数据库 MySQL 数据库
MySQL事务隔离级别及默认隔离级别的设置
在数据库系统中,事务隔离级别是一个关键的概念,它决定了事务在并发执行时如何相互隔离。MySQL提供了四种事务隔离级别,每种级别都解决了不同的并发问题。本文将详细介绍这些隔离级别以及MySQL的默认隔离级别。
|
2月前
|
存储 关系型数据库 MySQL
基于案例分析 MySQL 权限认证中的具体优先原则
【10月更文挑战第26天】本文通过具体案例分析了MySQL权限认证中的优先原则,包括全局权限、数据库级别权限和表级别权限的设置与优先级。全局权限优先于数据库级别权限,后者又优先于表级别权限。在权限冲突时,更严格的权限将被优先执行,确保数据库的安全性与资源合理分配。
|
2月前
|
安全 关系型数据库 MySQL
MySQL用户备份
【10月更文挑战第2天】MySQL用户备份
69 3