docker自动备份mysql5.8数据库
时间: 2023-09-07 21:01:53 浏览: 123
使用Docker自动备份MySQL 5.8数据库可以分为以下几个步骤:
1. 首先,创建一个名为backup的文件夹,用于存储备份文件。可以使用以下命令创建:
```
mkdir backup
```
2. 然后,使用Docker命令拉取MySQL 5.8镜像并运行一个MySQL容器。可以使用以下命令完成这一步骤:
```
docker run -d -p 3306:3306 --name mysql -e MYSQL_ROOT_PASSWORD=your_password -v /path/to/backup:/var/lib/mysql mysql:5.8
```
这将在本地的3306端口上运行一个MySQL容器,并将容器中的/var/lib/mysql目录映射到本地的backup目录中。
3. 接下来,创建一个backup.sh脚本文件,使用以下命令:
```
touch backup.sh
```
然后,使用文本编辑器打开backup.sh,并将以下内容添加到文件中:
```
#!/bin/bash
DATE=$(date +%Y-%m-%d)
BACKUP_DIR="/path/to/backup"
CONTAINER_ID=$(docker ps -aqf "name=mysql")
docker exec $CONTAINER_ID /usr/bin/mysqldump -u root --password=your_password your_database > $BACKUP_DIR/backup-$DATE.sql
```
注意替换/ path/to/backup为实际的备份文件夹路径,your_password为实际的MySQL root密码,your_database为要备份的数据库名称。
4. 接下来,为backup.sh脚本添加执行权限,使用以下命令:
```
chmod +x backup.sh
```
5. 最后,使用crontab设置定期执行备份脚本。使用以下命令打开crontab编辑器:
```
crontab -e
```
然后,将以下内容添加到文件的末尾:
```
0 0 * * * /path/to/backup.sh
```
这将在每天午夜执行备份脚本。
完成上述步骤后,每天午夜时,备份脚本将使用mysqldump命令将MySQL数据库备份到指定的backup文件夹中。这样,您就实现了Docker自动备份MySQL 5.8数据库的功能。
阅读全文