MySQL的权限设置和备份还原-阿里云开发者社区

开发者社区> 数据库> 正文

MySQL的权限设置和备份还原

简介:

    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,如需转载请自行联系原作者

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

分享:
数据库
使用钉钉扫一扫加入圈子
+ 订阅

分享数据库前沿,解构实战干货,推动数据库技术变革

其他文章