mysql导到相对位置_MySQL数据备份与恢复
发布日期:2021-06-24 12:55:13 浏览次数:2 分类:技术文章

本文共 1533 字,大约阅读时间需要 5 分钟。

**无论备份还是恢复,都要验证用户及权限**

一、数据备份

1、数据备份的备份方式

物理备份:cp、tar、tar+gzip  —> 兼容性差,目标地址空间大,耗时

系统自带物理备份工具mysqlhotcopy --> 备份时锁表

逻辑备份:备份产生数据的SQL语句  —> 兼容性好,占用空间小

系统自带完整备份工具Mysqldump(MySQL-client包产生) --> 备份时锁表

2、数据备份的备份策略

完整备份:完全备份,把数据库服务器上的所有库所有表全部备份

差异备份:自'完整备份’之后,叠加备份所有产生的新数据。

优缺点:备份数据有冗余,占用空间,恢复时方便

例如:第1天做了完整备份,第2天产生3条记录,差异备份时需备份3条记录,第3天产生2条            记录,差异备份时则需备份5条记录

完整备份  1条记录    1day     备份1条记录

差异备份  3条记录    2day     备份3条记录

2条记录    3day     备份5条记录

……… ……………

增量备份:‘自上一次备份’之后,备份产生的新数据。

优缺点:备份节省空间,恢复时调用的文件多

完整备份  1条记录    1day    1

增量备份  3        2day    3

2        3day    2

……… …………

3、工作中通常备份策略用法:

完整备份+差异备份

完整备份+增量备份

4、备份工具

1)完整备份工具mysqldump

**由mysql包提供,数据量不太大时用,

**备份的时候锁表,备份期间别人不能对备份数据进行操作

格式:mysqldump[–h数据库IP/主机名]-u登录用户名 -p密码数据库名 > 路径/备份文件名.sql

不写路径时,默认备份到当前命令所在的目录下

若写路径,需事先创建好

若数据库管理员从本机登录且没有密码:mysqldump数据库名 >路径/xxx.sql

用来连接数据库的用户要对相应的数据库有权限

数据库名的表示格式:

所有库--all-databases

指定单个库下的所有表    数据库名

某个库下的某个表      数据库名 表名

备份某几个库-B数据库名1  数据库名2  数据库名N

例:mysqldump -uroot -p--all-databases> /mysqlbak/alldb.sql //备份数据库服务器上的所有库

解决:将备份写入计划任务后,因备份名一样,会复盖前天的备份,可以用“时间”做备份文件名。

获取时间命令:#date +%F   →2014-07-21

#date +%T→17:30:17

mysqldump webdb > webdb-`date +%F`.sql

mysqldump -h192.168.10.20 -uroot -ptarena webdb > /mysqllog/webdb-`date+%F`.sql //远程备份

二、数据恢复

格式:mysql –h服务器IP/主机名  -u登录用户名 –p密码 数据库名 < 备份文件名

mysql 数据库名 < 备份文件名//若登录数据库不需要用户名密码

注意:恢复数据时候“”那么会自动清除备份文件内容

备份库的时候,前面加-B备份出的文件里面带“创建库”的SQL语句,恢复的时候不用在数据库里在创建库

数据库名是可选项,恢复数据时候必须查看一下备份文件里面的SQL语句,当恢复时使用的备份文件里有建库SQL语句时,数据库名可以省略,反之没有建库SQL语句的时候必须“进数据库里面手动建一个库(库名可以随便写)”然后在恢复的时候写上新建的数据库名。

例:

mysql webdb < webdb-2014-01-06.sql

mysql -h192.168.10.20 -uroot -ptarena webdb

转载地址:https://blog.csdn.net/weixin_32862641/article/details/113890000 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!

上一篇:cocoscreator固定旋转_cocos creator实现卡牌翻转
下一篇:卸载linux下的mysql数据库实例_Linux下卸载MySQL数据库实例教程

发表评论

最新留言

关注你微信了!
[***.104.42.241]2024年04月21日 14时59分33秒