一、备份还原数据库
登录查看现有数据库
mysql -u root -p
show databases;
创建新的数据库
create database test;
show databases;
\q#退出
使用mysqldump工具备份(完全备份)
mysqldump -u 用户名 -p 数据库名 > /home/test.sql#(备份数据库存储路径)
备份单个数据表
mysqldump -u 用户名 -p 数据库名 数据表名 > /home/数据表名.sql
重新登录查看数据库
mysql -u root -p
show databases;
查看数据库中表名
select table_name from information_schema.tables where table_schema='数据库名'
然后可以数据库删掉
drop database 数据库名;
重新创建数据库,并执行还原操作
ctrate databate test;
\q
mysql -u 用户名 -p -f 数据库名 < /home/数据库名
重新登录查看表明即可,当然也可以添加些数据进去,我只是简单演示
还原之前的图:
成功之后的图:
二、自动备份
1、创建脚本
脚本路径(目录可以自定义后面会用到,路径一致就好)
mkdir /dev/backup
备份文件路径
mkdir /home/backup
编辑脚本
vim mysqlback.sh
脚本内容
#home/backup
#!/bin/bash
mysqldump -u用户名 -p密码 数据库 > /home/backup/mysql_$(date+%Y%m%d_%H%M%S).sql
2、加脚本权限
chmod u+x mysqlback.sh
3、添加定时任务
安装crontab,若已安装可省略
yum install vixie-cron
yum install crontabs
编辑定时任务
crontab -e
#*/10 * * * *表示每10分钟执行一次
*/10 * * * * /dev/backup/mysqlback.sh
详细的定时任务可以看这里
4、定时任务启动
crontab -u//设定某个用户的cron服务
crontab -l//查看定时任务
crontab -r//删除定时任务(所有)
crontab -e//编辑定时任务
service crond start //启动服务
service crond stop //关闭服务
service crond restart //重启服务
service crond reload //重新载入配置