linux配置定时备份mysql数据库

Posted fdgd88

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了linux配置定时备份mysql数据库相关的知识,希望对你有一定的参考价值。

linux配置定时备份mysql数据库

 

1、创建备份目录2901583663
# mkdir /mydata/bak
2、创建备份脚本
# vi /usr/sbin/bakmysql.sh
#!/bin/bash
#Name:bakmysql.sh
#This is a shellscript for atuo db backup and delete old backup.
#Jxy
#

bakdir=/mydata/bak
time=`date +%Y%m%d`
mysql_bin_dir=/usr/local/mysql/bin

#备份并压缩
$mysql_bin_dir/mysqldump --defaults-extra-file=/etc/my.cnf sys|gzip > "$bakdir/sys"_"$time.sql.gz"
sleep 300
$mysql_bin_dir/mysqldump --defaults-extra-file=/etc/my.cnf iportal|gzip > "$bakdir/iportal"_"$time.sql.gz"
sleep 300
$mysql_bin_dir/mysqldump --defaults-extra-file=/etc/my.cnf kino|gzip > "$bakdir/kino"_"$time.sql.gz"
sleep 300
$mysql_bin_dir/mysqldump --defaults-extra-file=/etc/my.cnf connector|gzip > "$bakdir/connector"_"$time.sql.gz"
sleep 300
$mysql_bin_dir/mysqldump --defaults-extra-file=/etc/my.cnf hfy|gzip > "$bakdir/hfy"_"$time.sql.gz"

#删除创建时间大于90天的备份文件
/bin/find $bakdir -name "sys_*.sql.gz" -type f -mtime +90 -exec rm {} ; > /dev/null 2>&1
/bin/find $bakdir -name "iportal_*.sql.gz" -type f -mtime +90 -exec rm {} ; > /dev/null 2>&1
/bin/find $bakdir -name "kino_*.sql.gz" -type f -mtime +90 -exec rm {} ; > /dev/null 2>&1
/bin/find $bakdir -name "connector_*.sql.gz" -type f -mtime +90 -exec rm {} ; > /dev/null 2>&1
/bin/find $bakdir -name "hfy_*.sql.gz" -type f -mtime +90 -exec rm {} ; > /dev/null 2>&1
3、为脚本添加执行权限
# chmod 700 /usr/sbin/bakmysql.sh
4、添加定时任务
# crontab -e
7 3 * * 6 root /usr/sbin/bakmysql.sh
#每周六03:07执行脚本
5、查看定时任务是否添加成功
# crontab -l
6、重启crontab
# /etc/rc.d/init.d/crond restart 或者service crond restart
7、恢复数据备份文件:
非压缩备份文件恢复:
# mysql -u root -p dataname < name20XXXXXX.sql
从压缩文件直接恢复:
# gunzip < name20XXXXXX.sql.gz | mysql -u root -p dataname
或:
# zcat name20XXXXXXXX.sql.gz | mysql -u root -p


Mysql5.6+ mysqldump报错 Warning: Using a password on the command line interface can be insecure.
1、修改数据库配置文件,/etc/my.cnf或/etc/my.conf
在[client]部分添加脚本:
host=localhost
user=数据库用户
password=‘数据库密码‘

2、采用命令导出和导入数据库
#导出数据库
# mysqldump --defaults-extra-file=/etc/my.cnf database > database.sql
#导入数据库
# mysql --defaults-extra-file=/etc/my.cnf database < database.sql

技术图片技术图片技术图片技术图片技术图片技术图片

以上是关于linux配置定时备份mysql数据库的主要内容,如果未能解决你的问题,请参考以下文章

linux设置定时备份mysql数据库

Linux脚本定时备份MySql数据库

linux crontab mysql定时自动备份

linux定时备份mysql并同步到其它服务器

LINUX环境MySQL定时备份脚本

linux mysql定时备份