1.利用mysqldump命令进行手动备份和手动恢复
#> mysqldump -uroot -proot -P3306 --default-character-set=utf8 --opt test > /tmp/test_`date +%Y%m%d-%H%M`.sql;
2.利用直接在mysql终端进行导入
mysql>source /tmp/test_20160927-1408.sql;
3.实现linux的定时进行备份
#> vi /etc/crontab
30 2 * * * root mysqldump -uroot -proot --all-databases |gzip > /mnt/data_bak/database_`date +%Y%m%d-%H%M`.sql.gz
附:前面5个参数分别表示分钟、小时、日、月、年,星号表示任意。`date +%Y%m%d-%H%M` 得到当前日期的yyyyMMDD-M格式
4.利用linux系统定时器来执行备份脚本执行
4.1创建需要备份的目录文件夹
#> mkdir -p /backup/mysql;
4.2创建需要执行的shell脚本
#> vi back_mysql_test.sh
echo "You are in backup/mysql dir"
File=backup-`date +%Y%m%d-%H%M`.sql
mysqldump -uroot -proot -P3306 --default-character-set=utf8 test>$File
echo "Your database backup successfull companylete"
4.3修改shell脚本权限
#> chomn 777 back_mysql_test.sh
4.4设置定时器执行shell脚本
#> vi /etc/crontab
0 16 * * * root /backup/mysql/back_mysql_test.sh
附:如果出现 您在 /var/spool/mail/root 中有邮件 则需要查看邮件
#> mail -f /var/spool/mail/root
如果没有mail命令则需要进行安装命令
#> yum search mail
#> yum install mailx
用mail命令查看收到的邮件(多半是因为第4.3权限的原因造成的。然后再有一半原因是因为在shell脚本中的File的定义有问题。)
#> mail -f /var/spool/mail/root