linux下应用crontab对mysql数据库进行定时备份
来源:互联网 发布:js 数组初始化0 编辑:程序博客网 时间:2024/06/06 21:40
linux下应用crontab对mysql数据库进行定时备份
mysql数据库提供了备份命令mysqldump,可以结合crontab命令进行定时备份。
我写了一个mysqlbackup.sh的脚本,设置可执行权限chmod +X /mysqlbackup.sh。此脚本按照日期在当前目录下创建一个文件夹,同时在此目录下备份一个文件。内容如下:
#!/bin/bash#设置mysql备份目录,注意要对改文件夹设置可执行权限chmod +X /mysqlbak/mysqldumpfolder=/mysqlbak/mysqldumpcd $folderday=`date +%Y%m%d`rm -rf $daymkdir $daycd $day#数据库服务器,一般为localhosthost=localhost#用户名user=root#密码password=password#要备份的数据库db=wordpress#数据要保留的天数days=3mysqldump -h $host -u $user -p$password $db>backup.sqlzip backup.sql.zip backup.sqlrm backup.sqlcd ..day=`date -d "$days days ago" +%Y%m%d`rm -rf $day
另外,需要配置crontab。假设上述文件位置为/home/chzhao/bin/mysqlbackup.sh,则按以下命令配置crontab.
crontab -e
出现crontab的配置窗口,默认的编辑器是vim。
输入:
0 16 * * * /home/chzhao/bin/mysqlbackup.sh
表示每天的16点执行此脚本。
配置完毕之后,可以通过命令crontab -l查看crontab的配置情况。
其他mysqldump配置
常见选项:
–all-databases, -A: 备份所有数据库
–databases, -B: 用于备份多个数据库,如果没有该选项,mysqldump把第一个名字参数作为数据库名,后面的作为表名。使用该选项,mysqldum把每个名字都当作为数据库名。
–force, -f:即使发现sql错误,仍然继续备份
–host=host_name, -h host_name:备份主机名,默认为localhost
–no-data, -d:只导出表结构
–password[=password], -p[password]:密码
–port=port_num, -P port_num:制定TCP/IP连接时的端口号
–quick, -q:快速导出
–tables:覆盖 –databases or -B选项,后面所跟参数被视作表名
–user=user_name, -u user_name:用户名
–xml, -X:导出为xml文件
1.备份全部数据库的数据和结构
mysqldump -uroot -p123456 -A >F:\all.sql
2.备份全部数据库的结构(加 -d 参数)
mysqldump -uroot -p123456 -A-d>F:\all_struct.sql
3.备份全部数据库的数据(加 -t 参数)
mysqldump -uroot -p123456 -A-t>F:\all_data.sql
4.备份单个数据库的数据和结构(,数据库名mydb)
mysqldump -uroot-p123456 mydb>F:\mydb.sql
5.备份单个数据库的结构
mysqldump -uroot -p123456 mydb-d>F:\mydb.sql
6.备份单个数据库的数据
mysqldump -uroot -p123456 mydb-t>F:\mydb.sql
7.备份多个表的数据和结构(数据,结构的单独备份方法与上同)
mysqldump -uroot -p123456 mydb t1 t2>f:\multables.sql
8.一次备份多个数据库
mysqldump -uroot -p123456 --databases db1 db2>f:\muldbs.sql
还原部分分(1)mysql命令行source方法 和 (2)系统命令行方法
1.还原全部数据库:
(1) mysql命令行:mysql>source f:\all.sql
(2) 系统命令行: mysql -uroot -p123456 <f:\all.sql
2.还原单个数据库(需指定数据库)
(1) mysql>use mydbmysql>source f:\mydb.sql(2) mysql -uroot -p123456 mydb <f:\mydb.sql
3.还原单个数据库的多个表(需指定数据库)
(1) mysql>use mydbmysql>source f:\multables.sql(2) mysql -uroot -p123456 mydb<f:\multables.sql
4.还原多个数据库,(一个备份文件里有多个数据库的备份,此时不需要指定数据库)
(1) mysql命令行:mysql>source f:\muldbs.sql
(2) 系统命令行: mysql -uroot -p123456<f:\muldbs.sql
- linux下应用crontab对mysql数据库进行定时备份
- linux下对mysql的数据库进行定时备份
- Linux下crontab+php实现Mysql数据库定时备份
- linux下使用crontab定时备份MYSQL数据库的方法
- linux下使用crontab定时备份MYSQL数据库的方法
- linux下使用crontab定时备份MYSQL数据库的方法
- linux下使用crontab如何实现mysql数据库每天自动备份定时备份
- Linux下MySQL备份以及crontab定时备份
- Linux下MySQL备份以及crontab定时备份
- Linux下crontab备份MySQL数据库
- linux定时任务crontab自动备份mysql数据库
- LINUX下如何直接对MYSQL数据库进行备份?
- Linux下MySQL备份以及crontab定时备份(crontab表达式简介)
- linux下mysql数据库定时备份
- linux下定时备份mysql数据库
- linux下mysql定时备份数据库
- linux下mysql定时备份数据库
- linux下mysql定时备份数据库
- Centos7 安装RabbitMQ 详解
- 用SpannableString打造绚丽多彩的文本显示效果
- 59.56.97.66全新升级面对更好的你,更高防御更好的保护你
- cnn matlab实现mnist
- Qt5.8.0 mingw 编译QOCI
- linux下应用crontab对mysql数据库进行定时备份
- Absible 自动化部署工具简介和入门
- 分布式实时日志分析解决方案 ELK 部署架构
- jenkins部署maven项目到tomcat
- 关于利用juqery eq()和remove()动态删除表格中的行时遇到的问题
- 126邮箱登录退出模块
- datatables 使用中遇到的问题
- Docker学习笔记 — Docker私有仓库搭建
- 数据库设计工具