MySQL备份还原和定时任务
一、前言
2018年5月28日这个日子已经过去20几天了,那天发生的一切到现在回想一下都有些后怕。最近看了一篇文章里面有一句话挺好,删库(数据库损坏)只有两条路可以走,一是恢复,二是跑路。很明显我选择了第一条路,有一份幸运也有一份执着最终还是把数据恢复了回来。为什么说“幸运”呢?因为rpm方式安装的MySQL数据库默认打开了binlog日志,而且日志文件被完整的保存了下来。
虽然数据恢复了回来,但是我真心的不希望数据再次丢失了,因为下一次可能没有那么幸运。恢复数据只是在万不得已的情况下采取的补救措施,我们应该把备份数据作为日常维护的好习惯。
MySQL数据库备份及数据恢复
1.数据库备份
数据备份是我们使用计算机的同学日常的工作。不仅数据库需要定时备份,计算机上面重要的文件也需要定期做备份,那我们今天就来谈谈MySQL是怎样进行备份的。
MySQL给我们提供了一个实用的工具 mysqldump,使用该工具前要确定MySQL服务已经启动,那我们就直接来上实例吧!
备份所有的数据库
mysqldump -u数据库账号 -p数据库密码 > 导出的文件名
mysqldump -uroot -proot > mysql_all.sql
备份某一个数据库
mysqldump -u数据库账号 -p数据库密码 数据库名 > 导出的文件名和路径
mysqldump -uroot -proot test > test.sql
备份远程服务器上面的某一个数据库
mysqldump -h数据库服务器地址 -u数据库账号 -p数据库密码 数据库名 > 导出的文件名
mysqldump -h192.168.1.11 -uroot -proot test > test.sql
日常中我使用的备份命令
mysqldump -uroot -proot test --default-character-set=utf8 > test.sql
这里我加了一个参数:--default-character-set=utf8,对于中国的程序员来说乱码问题是我们的必修课。为了不给数据或程序带来乱码的困惑,我们肯定会给程序设定统一的编码方式。我通常使用的编码为UTF8,这里我们和数据库的编码保持一致即可。
2. 数据库还原
既然我们说到备份,数据还原是必不可少的,这时我们用到了MySQL常用mysql工具。
数据库还原
mysql -u数据库账号 -p数据库密码 数据库名 < 导入的文件名和路径 mysql -uroot -proot test < test.sql
日常中我使用的还原数据库命令
mysql -uroot -proot test --default-character-set=utf8 < test.sql
3. 定时备份
我们了解了数据库备份及数据库还原,这时出现了一个疑问? 备份通常是每隔一段时间都需要进行一次,数据增量较小的话一天一次,但是数据增量要是很大的话需要每天多次,我们不可能每次都是手动去备份,故而我们会考虑有没有一种方式是让电脑定时帮我们完成这个任务。
Linux服务器有一个定时任务工具:crontab,维基百科是这么说的:crontab命令常见于Unix和类Unix的操作系统之中,用于设置周期性被执行的指令。该命令从标准输入设备读取指令,并将其存放于“crontab”文件中,以供之后读取和执行。该词来源于希腊语chronos(χρόνος),原意是时间。
那我们就直接开始吧!
首先我们来创建一个shell文件
touch mysql_backup.sh
打开文件的执行权限
chmod +x mysql_backup.sh
编辑该文件
sudo vi mysql_backup.sh
#!/bin/sh
backupdir='/home/mysql'
time=`date +%Y%m%d%H%M`
mysqldump -uroot -proot test --default-character-set=utf8 > $backupdir/test_$time.sql
内容说明
- backupdir # 设置备份文件要保存的目录地址
- time # 备份的文件要是很多的话避免重名,通常使用时间来做备份文件的拓展
- $backupdir/test_$time.sql # 组装名称:数据库名 + 时间拓展
设定定时任务
crontab -e
30 * * * * sh mysql_back.sh # 每30分钟执行一次该命令
crontab的文件格式
分 时 日 月 周 要运行的命令
- 第1列分钟0~59
- 第2列小时0~23(0表示子夜)
- 第3列日1~31
- 第4列月1~12
- 第5列星期0~7(0和7表示星期天)
- 第6列要运行的命令
查看定时任务
crontab -l
定时任务控制(操作系统为:centos6,服务的控制centos7是不一样的噢)
service crond start # 开启服务
service crond stop # 关闭服务
service crond restart # 重启服务
总结
写到这里数据库备份恢复基本已经到一个段落了,做好数据备份是我们每一位计算机使用者良好的习惯,可以更好的避免数据丢失。希望我们能把它当作一种责任。
备注
本文所使用的操作系统及数据库版本说明:
- 操作系统:centos6.8
- 数据库版本:MySQL5.5.49
转载于:https://my.oschina.net/u/591464/blog/1833076
MySQL备份还原和定时任务相关推荐
- Percona XtraBackup 关于 MySQL备份还原的详细测试
Percona XtraBackup 关于 MySQL备份还原的详细测试 一. Percona XtraBackup 的优点. (1)无需停止数据库进行InnoDB热备: (2)增量备份MySQL: ...
- mysql备份还原(视图、存储过程)
最近在备份还原mysql的时候发现,视图还原报错,无法创建视图,在网上查了下资料,找到以下信息: 1.如果备份的数据库含有视图,还原时需要把my.ini中的character-set改为latin1, ...
- linux下mysql日志管理及mysql备份还原
linux下mysql日志管理及mysql备份还原 1.SHOW GLOBAL VARIABLES LIKE '%log%'; 显示所有日志相关的选项 2.错误日志:log_error和log_wa ...
- mysql备份还原参数详解
#windows下mysql备份还原,可不用修改my.ini来还原视图(已验证) mysqldump -uroot -p123 --default-character-set=gbk --opt -- ...
- mysql 备份还原
MySQL的备份与还原 MySQL备份和还原,都是利用mysqldump.mysql和source命令来完成的. 1.Win32下MySQL的备份与还原 1.1 备份 开始菜单 | 运行 | c ...
- MySQL备份还原知识要点
数据库在使用当中都会有数据库备份工作,当数据库发生严重错误无法启动,或者数据丢失时可以及时有效地恢复数据.文章简单介绍如何备份和还原MySQL数据库. 备份数据库 使用mysqldump命令备份数据库 ...
- linux mysql 备份还原数据库_备份和还原MySQL数据库的简便方法
我们现在将讨论如何备份数据库和还原MySQL.数据库的维护非常重要,因为数据库包含我们拥有的重要数据,因此,应备份数据库以避免数据丢失. 备份有两个目的.主要目的是在数据丢失(由于删除或损坏)时恢复数 ...
- c mysql备份还原数据库_如何备份和还原MySQL数据库?
MySQL是一个永久存储数据的数据库服务器.如果使用MySQLServer,那么需要创建数据库备份以便从崩溃中恢复.mysql提供了一个用于备份的实用程序mysqldump.在本文中,将介绍关注与.s ...
- php mysql备份还原类_PHP实现MYSQL备份还原
/** * mysql备份*/ classMysqlBackup {function __construct($filename, $config) {$this->setFile($filen ...
最新文章
- 成员变量和成员函数分开存储
- 【OpenCV 4开发详解】轮廓发现与绘制
- 强化学习之gym初战实战案例:悬崖案例CliffWalking-v0。
- 2021年春季学期-信号与系统-第十五次作业参考答案-第九小题参考答案
- 角色动作系统概述:战斗、3C相关
- 【转】android多分辨率适配
- 论文浅尝 | Improved Neural Relation Detection for KBQA
- linux挂载磁盘出问题,centos7 - 出现挂载磁盘,挂载出现问题
- OpecCV颜色分割
- oracle心间directory并附权,【Oracle】第一章创建授权
- Apache CarbonData 2.0 开发实用系列之一:与Spark SQL集成使用
- HBase因hostname可能引起的RIT问题。HBASE的ip和hostname坑
- ML for trading -cs7646-04
- miniusbpcb封装_MINI MICRO A型B型D型USB多类型Altium AD元件库 PCB封装库的电路方案详解...
- cmos逻辑门传输延迟时间_半导体学习日记-CMOS器件面临的挑战
- 共享的计算机用户账户限制,连接共享文件夹,提示“登录失败:禁用当前的账户”...
- HTML实战宝典PDF,《selenium webdriver实战宝典》记
- 五款免费同步备份软件介绍
- 联盟 (Alliances)
- SpringBoot整合SpringDataElasticSearch 完成地理搜索 附近人搜索 距离搜索
热门文章
- win10下 oracle安装(11g)
- C++中return 0;与return;的区别
- SOPHON BM1684芯片解码性能以及支持的文件格式
- string.h头文件的简单运用
- Ymodem协议介绍
- 【Qt】一文总结Qt5.15的在线安装
- 关于switch-case的用法细节及其特殊用法
- OpenSSL SSL_read: Connection was aborted, , errno 10053
- IPU相关知识(一)
- 在MySQL中insert时生成UUID