备份
- 全量备份(数据+结构):#mysqldump -uroot -proot -A >备份文件路径
- 指定库备份(数据+结构):#mysqldump -uroot -proot 库名 > 备份文件路径
- 多个数据库(数据+结构):#mysqldump -uroot -proot --databases db1 db2 > 备份文件路径
[root@localhost Desktop]# mysqldump -uroot -proot jtdb > /usr/jt.sql
//必须在外面进行备份
案例:每一分钟 备份一次jtdb 数据库
以数据库名字加时间进行命名:
注意此处包裹时间格式的为刀秋(`)tab上面的按键,文件名直接连起来不需要加号
#!/bin/bash
filename="jtbd_"`date +'%Y%m%d%H%M%S'`".sql"
echo $filename
mysqldump -uroot -proot jtdb > /root/$filename
运行1:
[root@localhost /]# chmod +x mysql.sh
//授权
[root@localhost /]# ./mysql.sh
jtbd_20181125051152.sql
结果:
创建计划任务: crontab -e
Crontab 选项
以下是 crontab 的有效选项:
— crontab –e : 修改 crontab 文件. 如果文件不存在会自动创建。
— crontab –l : 显示 crontab 文件。
— crontab -r : 删除 crontab 文件。
— crontab -ir : 删除 crontab 文件前提醒用户。
以下是 crontab 文件的格式:
{minute} {hour} {day-of-month} {month} {day-of-week} {full-path-to-shell-script}
— minute: 区间为 0 – 59
— hour: 区间为0 – 23
— day-of-month: 区间为0 – 31
— month: 区间为1 – 12. 1 是1月. 12是12月.
— Day-of-week: 区间为0 – 7. 周日可以是0或7.
crontab -e
//修改 crontab 文件. 如果文件不存在会自动创建
#分 时 日 月 周 命令
* * * * * /mysql.sh
执行结果:
还原:
mysql 的sql文件没有建库语句需要自己创库
mysql> create database jtdb charset utf8;
//创建数据库
mysql> use jtdb;
//选择数据库
mysql> source /root/jtbd_20181125054101.sql;
//导入数据库
数据库导入成功后:查询
设置Mysql连接字符集:
mysql> set names utf8;
三码一致 数据表的字符集,连接的字符集,终端的字符集