一、使用mysql内置命令 mysqldump

Usage:
mysqldump [OPTIONS] database [tables]
mysqldump [OPTIONS] --databases [OPTIONS] DB1 [DB2 DB3...]
mysqldump [OPTIONS] --all-databases [OPTIONS]

可以看到能备份全部的数据库,指定的数据库,指定数据库中的表

mysqldump -uUsername -pPassword Database > /var/backup/mysql/database.sql


二、按日期备份

mysqldump -uUsername -pPassword Database > /var/backup/mysql/database-`date +%Y%m%d`.sql

`date +%Y%m%d` 利用了shell的知识,先执行,得到格式化的日期

vim /var/backup/backup-mysql.sh

把上面的内容存到文件中

chmod +x backup-mysql.sh

加上可执行权限


三、定时备份

使用系统的crontab

crontab -e

# m h  dom mon dow   command
0 3 * * * /var/backup/backup-mysql.sh


时间的格式是

分 时 日 月 周

上面的例子是指定每天3点备份一次数据库


提高:

当然,还可以加上一些更好的功能,如

备份后的文件压缩一下,这个很简单

只保留最近xx天的备份文件,这个要稍微复杂一点点

使用mysql二进制增量备份……


2012/03/15日更新

以下是shell脚本:

JIRA_FILE_NAME=jira-`date +%Y%m%d`;
BBS_FILE_NAME=bbs-`date +%Y%m%d`;
MANTIS_FILE_NAME=mantis-`date +%Y%m%d`;

cd /var/backup/mysql/
mysqldump -ujira -pjira jira > ${JIRA_FILE_NAME}.sql
tar -zcvf ${JIRA_FILE_NAME}.sql.tar.gz ${JIRA_FILE_NAME}.sql
rm -rf ${JIRA_FILE_NAME}.sql

mysqldump -ubbs -pbbs bbs > ${BBS_FILE_NAME}.sql
tar -zcvf ${BBS_FILE_NAME}.sql.tar.gz ${BBS_FILE_NAME}.sql
rm -rf ${BBS_FILE_NAME}.sql

mysqldump -umantis -pmantis mantis > ${MANTIS_FILE_NAME}.sql
tar -zcvf ${MANTIS_FILE_NAME}.sql.tar.gz ${MANTIS_FILE_NAME}.sql
rm -rf ${MANTIS_FILE_NAME}.sql


2016/09/23更新

Windows下备份非常帅的版本:关键看日期

set DATE=%date:~0,4%_%date:~5,2%_%date:~8,2%
d:\mysql-5.7.13-winx64\bin\mysqldump -ufeibiao -pfeibiao feibiao > e:\backup\feibiao_%DATE%.sql  



GitHub 加速计划 / li / linux-dash
13
2
下载
A beautiful web dashboard for Linux
最近提交(Master分支:4 个月前 )
186a802e added ecosystem file for PM2 5 年前
5def40a3 Add host customization support for the NodeJS version 5 年前
Logo

AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。

更多推荐