数据备份
mysqldump命令
#备份所有数据
mysqldump -uroot -p --all-database > all.sql
#备份单个库的数据
shell>mysqldump -uroot -p test > test.sql
备份脚本
#!/bin/bash
#在使用之前,请提前创建以下各个目录
#获取当前时间
date_now=$(date "+%Y%m%d-%H%M%S")
#备份文件所在目录
backUpFolder=/opt/application/backup/mysql
if [ ! -d '${backUpFolder}' ] ;
then
echo 'mkdir ${backUpFolder}'
mkdir -p "${backUpFolder}"
fi
#数据库名称,作为生成文件名区分
db_name="comparison"
#定义备份文件名
fileName="${db_name}_${date_now}.sql"
#定义备份文件目录
backUpFileName="${backUpFolder}/${fileName}"
echo "starting backup mysql ${db_name} at ${date_now}."
docker exec -it mysql mysqldump ${db_name} > ${backUpFileName}
#进入到备份文件目录
cd ${backUpFolder}
#压缩备份文件
tar zcvf ${fileName}.tar.gz ${fileName}
date_end=$(date "+%Y%m%d-%H%M%S")
echo "finish backup mysql database ${db_name} at ${date_end}."
需要修改myql配置
#在最后添加 #mysql用户名 #mysql用户密码
[mysqldump]
user=root
password=123456
数据恢复
#拷贝需要恢复的数据文件到 msyql容器创建时映射的目录
#进入容器
docker exec -it mysql /bin/bash
#执行命令
mysql -uroot -p 数据库名称 < 所映射的目录文件
#输入密码回车等待一会