在网上查询数据库备份方法:
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