mysql 备份并压缩
时间: 2023-07-10 13:16:13 浏览: 25
您可以使用以下命令备份 MySQL 数据库并将备份文件压缩为 tar.gz 格式:
```
mysqldump -u [用户名] -p[密码] [数据库名] | gzip > [备份文件名].sql.gz
```
这个命令将执行以下操作:
1. 使用 mysqldump 命令备份指定的数据库,-u 参数指定用户名,-p 参数指定密码,[数据库名] 参数指定要备份的数据库。
2. 将备份输出通过管道传递给 gzip 命令,以将备份文件压缩为 .gz 格式。
3. 使用 > 符号将压缩的备份文件输出到指定的文件名中。
请将 [用户名]、[密码]、[数据库名] 和 [备份文件名] 替换为实际的值。另外,请注意备份文件的大小和备份过程的持续时间,特别是对于大型数据库。
相关问题
MYSQL 作业计划备份并压缩
您可以使用以下步骤来创建 MySQL 的备份计划并压缩备份文件:
1. 创建一个名为 backup.sh 的 shell 脚本文件,并添加以下内容:
```
#!/bin/bash
# 进入备份文件夹
cd /path/to/backup/folder
# 设置备份文件名为当前日期
BACKUP_FILE="backup-$(date +%Y%m%d).sql"
# 使用 mysqldump 命令备份数据库
mysqldump -u [username] -p[password] [database_name] > $BACKUP_FILE
# 压缩备份文件
gzip $BACKUP_FILE
```
2. 将 [username]、[password] 和 [database_name] 替换为您的 MySQL 用户名、密码和要备份的数据库名称。
3. 保存并关闭 backup.sh 文件。
4. 在终端中,使用以下命令添加执行权限:
```
chmod +x backup.sh
```
5. 使用以下命令测试备份脚本:
```
./backup.sh
```
6. 如果备份脚本正常工作,您可以使用以下命令创建一个 cron 作业计划:
```
crontab -e
```
7. 在打开的文本编辑器中,添加以下行以每天备份一次:
```
0 0 * * * /path/to/backup.sh
```
8. 将 /path/to/backup.sh 替换为您的备份脚本的实际路径。
9. 保存并关闭文本编辑器。
现在,MySQL 的备份脚本将每天自动运行,并在备份完成后将备份文件压缩。
xtrabackup8 全量备份并压缩脚本
Xtrabackup是一个开源的MySQL数据库备份工具,可以实现全量备份并压缩数据的脚本。下面是一个简单的脚本示例:
```
#!/bin/bash
# 定义变量
DB_USER="your_database_user"
DB_PASSWORD="your_database_password"
BACKUP_DIR="/path/to/backup/directory"
DATE=$(date '+%Y%m%d%H%M%S')
# 创建备份目录
mkdir -p $BACKUP_DIR/$DATE
# 使用xtrabackup进行全量备份
xtrabackup --backup --user=$DB_USER --password=$DB_PASSWORD --target-dir=$BACKUP_DIR/$DATE
# 压缩备份数据
tar -czvf $BACKUP_DIR/$DATE.tar.gz $BACKUP_DIR/$DATE
# 删除原始备份目录
rm -rf $BACKUP_DIR/$DATE
# 删除过期的备份文件,保留最近7天的备份
find $BACKUP_DIR -mtime +7 -delete
```
这个脚本首先定义了数据库的用户名、密码和备份的目录,在每次备份中都会创建一个以当前日期和时间命名的目录。然后使用xtrabackup命令进行全量备份,并将备份数据压缩为tar.gz格式。最后,删除原始的备份目录,并根据需要删除过期的备份文件,只保留最近7天的备份。
你可以根据实际需要进行相应的修改,例如修改数据库的用户名和密码、备份目录等。希望对你有帮助!