此处先定时本地备份,稍后更新远程mysql数据库备份。
一 定时本地备份mysql数据库
1. 创建备份目录
在home目录下新建backupDatabase目录
执行命令: mkdir /home/backupDatabase
2.创建备份shell脚本
创建backupDatabase.sh文件
执行命令:touch /home/backupDatabase.sh
编辑 backupDatabase.sh文件
执行命令: vi /home/backupDatabase.sh
文件内容如下:
#!/bin/bash
cur_dateTime=`date +"%Y年%m月%d日%H:%M:%S"`
backupDatabase="backupDatabase"
#创建备份文件夹
mkdir /home/backupDatabase/$cur_dateTime$backupDatabase
#开始备份数据库
#开始数据库备份 一定要加-R意思是将导出存储过程和函数。不加-R 不会导出存储过程和函数,只会导出表结构和所有数据。
mysqldump -u账号 -p密码 -R 数据库名 > /home/backupDatabase/$cur_dateTime$backupDatabase/bhpp2.0_basemicroservice.bak
#删除7天前数据库创建的备份文件
find /home/backupDatabase/ -maxdepth 1 -type d -mtime +7 -name "*" -exec rm -rf {} \;
3.添加可执行权限
执行命令:chmod u+x backupDatabase.sh
4.添加计划任务
每天凌晨零点开始备份数据库
执行命令:crontab -e
将如下内容添加到文件的末尾:
00 00 * * * sh /home/backupDatabase.sh
二 还原mysql数据库
远程登录到服务器mysql 数据库,在windows打开命令窗口。
执行命令: mysql -h远程ip地址 -uroot -p 回车
输入密码: *******
登录成功。
创建空的数据库:
执行命令:create database test;
切换到空的数据库:
执行命令:use test;
找到服务器备份数据库bak文件,粘贴到windows桌面上,开始还原数据库
执行命令: source C:\Users\admin\Desktop\test.bak;
此时远程数据库数据就还原了。