linux 备份mysql指定数据库脚本
时间: 2023-07-31 15:05:40 浏览: 119
可以使用以下脚本备份 MySQL 中的指定数据库:
```
#!/bin/bash
# 定义数据库备份路径
BACKUP_DIR=/data/backup/mysql
# 定义要备份的数据库名
DB_NAME=mydatabase
# 定义备份文件名
BACKUP_FILE=$BACKUP_DIR/$DB_NAME-$(date +%Y%m%d%H%M%S).sql
# 定义 MySQL 用户名和密码
MYSQL_USER=root
MYSQL_PASSWORD=123456
# 备份数据库
mysqldump -u$MYSQL_USER -p$MYSQL_PASSWORD $DB_NAME > $BACKUP_FILE
```
解释一下脚本中的几个变量:
- `BACKUP_DIR`:备份文件存放的路径,可以根据实际情况修改。
- `DB_NAME`:要备份的数据库名,可以根据实际情况修改。
- `BACKUP_FILE`:备份文件的文件名,使用当前时间作为后缀,可以根据实际情况修改。
- `MYSQL_USER`:MySQL 用户名,可以根据实际情况修改。
- `MYSQL_PASSWORD`:MySQL 密码,可以根据实际情况修改。
在运行脚本前,需要先创建好备份目录,然后赋予脚本执行权限,即可运行备份命令。例如:
```
mkdir -p /data/backup/mysql
chmod +x backup_mysql.sh
./backup_mysql.sh
```
相关问题
linux中mysql数据库备份脚本
在Linux中,创建MySQL数据库备份脚本可以通过使用命令行工具如`mysqldump`来实现。`mysqldump`是一个可以导出数据库结构及其数据到文本文件的工具,通过脚本定时执行可以完成自动化备份。
以下是一个简单的MySQL数据库备份脚本的示例:
```bash
#!/bin/bash
# 配置部分
USER="root"
PASSWORD="your_password"
DATABASE="your_database"
BACKUP_PATH="/path/to/backup/folder"
BACKUP_FILE="${BACKUP_PATH}/backup-$(date +%Y%m%d).sql"
LOG_FILE="${BACKUP_PATH}/backup-$(date +%Y%m%d).log"
# 创建备份目录
if [ ! -d "$BACKUP_PATH" ]; then
mkdir -p $BACKUP_PATH
fi
# 使用mysqldump命令进行备份
mysqldump -u ${USER} -p${PASSWORD} ${DATABASE} | gzip > ${BACKUP_FILE}.gz
# 检查备份是否成功
if [ $? -eq 0 ]; then
echo "$(date): 数据库备份成功" >> $LOG_FILE
else
echo "$(date): 数据库备份失败" >> $LOG_FILE
exit 1
fi
# 清理旧的备份文件,这里保留最近7天的备份
find ${BACKUP_PATH} -mtime +7 -type f -name "backup-*.sql.gz" -exec rm -f {} \;
```
在使用该脚本之前,需要确保已经对配置部分(如数据库用户、密码、数据库名和备份路径等)进行了正确的设置,并且赋予了脚本执行权限:
```bash
chmod +x backup_script.sh
```
然后可以通过以下命令来运行脚本:
```bash
./backup_script.sh
```
或者,你可以将其添加到cron作业中,以实现定期自动执行备份,例如每天凌晨一点执行:
```bash
0 1 * * * /path/to/backup_script.sh >> /path/to/backup_script.log 2>&1
```
Linux备份mysql数据库
在Linux系统中备份MySQL数据库,可以使用以下几种方法:
1. 使用mysqldump命令备份
mysqldump命令是备份MySQL数据库最常用的方式,可以将整个数据库或部分数据备份到一个文件中。以下是备份整个数据库的命令:
```
mysqldump -u [用户名] -p [密码] --all-databases > [备份文件名].sql
```
如果要备份指定的数据库,可以使用以下命令:
```
mysqldump -u [用户名] -p [密码] [数据库名] > [备份文件名].sql
```
2. 使用mysqlhotcopy命令备份
mysqlhotcopy命令是一个Perl脚本,用于备份MySQL数据库的MyISAM表,它可以在不停止MySQL服务器的情况下备份数据。
以下是备份数据库的命令:
```
mysqlhotcopy [数据库名] [/备份目录]
```
3. 复制数据库文件备份
如果MySQL服务器停止工作,可以直接复制MySQL数据库文件进行备份。MySQL数据库文件通常存储在/var/lib/mysql目录下。
以下是备份整个MySQL数据库的命令:
```
cp -R /var/lib/mysql /备份目录
```
请注意,这种备份方式只适用于MyISAM表,对于InnoDB表,需要使用mysqldump命令备份。
以上是三种备份MySQL数据库的方法,建议根据实际情况选择适合自己的方式。
阅读全文