linux 备份mysql指定数据库脚本
时间: 2023-07-31 16:05:40 浏览: 58
可以使用以下脚本备份 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数据库定时备份脚本示例:
1. 首先创建一个备份目录:
```
mkdir /backup
```
2. 创建一个备份脚本文件:
```
vi /backup/mysql_backup.sh
```
3. 在脚本文件中输入以下内容:
```
#!/bin/bash
# 定义备份文件名
filename=$(date +%Y%m%d%H%M%S).sql
# 定义MySQL连接信息
db_user="your_db_username"
db_password="your_db_password"
db_name="your_db_name"
# 执行备份命令
/usr/bin/mysqldump -u${db_user} -p${db_password} ${db_name} > /backup/${filename}
# 删除7天前的备份文件
find /backup -type f -name "*.sql" -mtime +7 -exec rm {} \;
```
4. 保存脚本文件并退出编辑器。
5. 授予脚本执行权限:
```
chmod +x /backup/mysql_backup.sh
```
6. 使用cron定时执行备份脚本。打开cron定时任务编辑器:
```
crontab -e
```
7. 在定时任务编辑器中添加以下内容,表示每天凌晨2点执行备份脚本:
```
0 2 * * * /backup/mysql_backup.sh
```
8. 保存并退出编辑器。
这样,每天凌晨2点,MySQL数据库备份脚本将会自动执行,并将备份文件保存在/backup目录下。同时,脚本还会自动删除7天前的备份文件,以便节约存储空间。
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数据库的方法,建议根据实际情况选择适合自己的方式。