mysql5.7 自动备份,mysql5.7 自动备份数据库 和数据的恢复

在网上查询数据库备份方法:

mysqldump -hhostname -uusername -ppassword -database databasename | gzip > backupfile.sql.gz

这样执行会出现问题  这里建议参数指向数据的my.cnf

这里编辑my.cnf 添加用户名和密码

注意:创建文件夹权限要够  我这里用的777

vi /etc/my.cnf

[client]

host = localhost

user = user

password = password

下面记录我的备份和恢复处理

数据库的备份脚本:mysql_backup.sh

#!/bin/bash

backupdir=/home/task/mysql/data

time=` date +%Y-%m-%d-%H:%M:%S `

db_name=mysite

mysqldump --defaults-extra-file=/etc/my.cnf --databases $db_name | gzip > $backupdir/$time$db_name.sql.gz

find $backupdir -name "*.sql.gz" -type f -mtime +5 -exec rm -rf {} \; > /dev/null 2>&1

参考网上资料  备份数据库后压缩数据库备份文件

定时任务添加 每日凌晨备份数据库

crontab -e

0 0 * * * /home/task/mysql_backup.sh

关于数据库的恢复

#!/bin/bash

backdir=/home/task/mysql/data

gunzip < $backdir/2019-05-25-18:01:17mysite.sql.gz | mysql --defaults-extra-file=/etc/my.cnf mysite

这里要指定恢复数据库备份文件的名称 要先解压

如果数据库备份文件没有压缩

#!/bin/bash

mysql --defaults-extra-file=/etc/my.cnf databasename < backupfile.sql

你可能感兴趣的:(mysql5.7,自动备份)