MySQL的权限设置和备份还原

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

数据库的用户授权

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

1. 授予权限

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

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子句可指定查看的用户对象,语句格式如下:

show grants for 用户名@来源地址

3. 撤销权限

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

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

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

数据库的备份与恢复

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

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

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

(1)备份数据库

命令格式如下:

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

(2)恢复数据库

命令格式如下:

[[email protected] ~]# mysql [选项] [库名] [表名] <  /备份路径/备份文件名

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

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

时间: 2024-07-30 02:43:38

MySQL的权限设置和备份还原的相关文章

python--MySQL权限管理 数据备份还原

一 权限管理 mysql最高管理者是root用户, 这个一般掌握在公司DBA手里, 当你想去对数据库进行一些操作的时候,需要DBA授权给你. 1. 对新用户增删改 1. 创建用户 # 要先use mysql 先进入mysql这个库下面,然后进行下面操作 # 指定ip为 192.168.1.1 的 attila用户登录 create user 'attila' @ '192.168.1.1' identified by '123'; # 123 是密码 # 指定ip为 192.168.1. 开头的

mysql用户权限设置

关于mysql的用户管理,笔记 1.创建新用户 通过root用户登录之后创建 >> grant all privileges on *.* to testuser@localhost identified by "123456" ; // 创建新用户,用户名为testuser,密码为123456 : >> grant all privileges on *.* to testuser@localhost identified by "123456&qu

mysql 用户权限设置

windows使用的zip包的mysql.配置成功后,root用户没有权限,需要进行权限分配.管理员运行cmd,执行以下命令,进入mysql. mysql -u root -p Passwd Passwd代表密码,没有的话就空着. 然后执行以下命令,分配权限. mysql >grant all privileges on *.* to [email protected]"%" identified by "Passwd"; mysql >flush pr

mysql 查询权限设置

mysql> grant select on aaa.* to query identified by 'query'; Query OK, 0 rows affected (0.00 sec) mysql> show grants for query -> ; +------------------------------------------------------------------------------------------------------+ | Grants

Mac 配置java版本 ---- MySql数据库权限设置 --- openfire

java -version 显示java 版本 sudo su - root 切换身份 cd /usr/local/openfire 进入openfire目录 cd bin/ 进入 bin vim openfire.sh ——— 修改java路径 打开openfire.sh - 配置java路径 pwd  ——— "/System/Library/Frameworks/JavaVM.framework/Home” 显示目录 cd /Library/Java/JavaVirtualMachines

Mysql视图权限设置的踩坑经历

1.事件背景今天临近中午饭点时,开发同事发来需求,在mariadb库创建两个视图,要求指定帐号有只读权限.很简单的需求,连上服务器,两条grant命令一刷,fulsh privileges 回车,楼主就安心吃饭去了. 2.重点来了,待楼主用餐归来,(还在楼下打了盘王者农药,排位两连跪(┬_┬)),上午发来需求的同事找我了. 3.柳暗花明瞬间蒙圈的我,回了个稍等,就赶紧去查原因了.在反复确认grant没问题后,楼主持续蒙圈了.此时距离接到这个问题,已经过去了20分钟,甚是焦急啊,明明一个小需求怎么

mysql重点、视图、事务、备份还原【mysqldump】、mysql编程【触发器、存储函数、存储过程】、存储引擎

1.删除数据需要注意的问题[删除记录delete] 删除数据本身没有太多说的,还是删除表的时候有truncate用法 delete from是逐条删除记录[加不加条件全删,效率低,在删除表方面] truncate是重建表[删除表时效率高] 2.修改数据[update] [一下重点性能] 3.视图(view)[是一张虚拟的表:使客户端在虚拟的表中进行操作] 视图就是一条查询语句的结果[因为查询之后的结果本身就会形成一张表给客户端][视图使用到mysql的内置机制] create view 视图名

备份校验两不误,MySQL自动备份还原校验设计详解

作者介绍庞阔,优朋普乐传媒运维基础部经理.负责数据库运营管理及平台设计开发,监控设计改进,问题跟踪处理,机房网络维护管理,目前四个专利已在专利局申请中.擅长数据库运维管理及Shell.Perl.PHP编写. 最近关于数据库故障出现的问题较多,不论大小公司对数据的备份要求都很高,但对校验数据备份的有效性要求更为迫切,很多公司对于自动备份和还原都已经形成体系,但对于还原后的备份有效性校验可能都不太完善,而且目前网上也没有较为完善的检验机制(可能我没找到). 对数据库备份的有效性校验的方法或样例选择,

mysql数据的备份还原三种方法

MySQL的备份和恢复: 为什么要对数据做备份?    数据备份主要是用于灾难恢复和测试要求,灾难恢复指硬件故障,软件故障,自然灾害,黑客攻击以及误操作: 备份分为以下几类: 完全备份:既对所有数据做备份 部分备份:仅对数据库中一张或多张表做备份 差异备份:备份上次备份后变化的数据部分,和增量备份区别在于差异备份只可以相对完全备份做备份 增量备份:仅备份上次完全备份或增量备份之后变化的数据部分 热备份:在线备份,读写操作不受影响 温备份:在线备份,读操作继续,但写操作不允许: 冷备份:离线备份,