MySQL备份,回复,以及shell的一些小脚本

mysql的备份和恢复

备份数据库文件
1.停止mysql服务
备份数据库目录中指定数据库
如: cp -r /var/lib/mysql/bw /home/backup/

2.恢复数据库
将备份文件拷回至数据库目录:/var/lib/mysql,并且修改备份文件的:属主、属组
cp -r /home/backup/bw /var/lib/mysql/
cd /var/lib/mysql
chown -R mysql.mysql bw

mysqldmp命令备份
mysqldump 备份SQL语句 MySQL脚本中 .sql结尾
a.sql b.sql

1.备份
mysqldump -u用户 -p密码 -h主机 -B 数据库1 数据库2.... > /home/backup/db.sql
mysqldump -u用户 -p密码 -h主机 -A > /home/backup/all.sql

2.恢复:
mysql -u用户 -p密码 -h主机 < /home/backup/db.sql


通过二进制日志备份和恢复

1.备份二进制日志
cp /var/lib/mysql/mysql-bin.* /home/backup/


2.恢复
查看二进制日志
mysqlbinlog /var/lib/mysql/mysql-bin.000001

恢复
从日志文件mysql-bin.000004的位置1379恢复到1966

mysqlbinlog mysql-bin.000004 --start-position=1379 --stop-position=1966 | mysql -uroot

从日志文件mysql-bin.000004的日期2019-09-27 15:08:49 恢复到2019-09-27 15:09:06
mysqlbinlog mysql-bin.000004 --start-datetime="2019-09-27 15:08:49" --stop-datetime="2019-09-27 15:09:06" | mysql -uroot

 

cron

 1 # For details see man 4 crontabs
 2 
 3 # Example of job definition:
 4 # .---------------- minute (0 - 59)
 5 # | .------------- hour (0 - 23)
 6 # | | .---------- day of month (1 - 31)
 7 # | | | .------- month (1 - 12) OR jan,feb,mar,apr ...
 8 # | | | | .---- day of week (0 - 6) (Sunday=0 or 7) OR sun,mon,tue,wed,thu,fri,sat
 9 # | | | | |
10 # * * * * * user-name command to be executed

 

crontab -e 增加计划任务

 

shell
判断:
if 条件表达式 ;then
条件为真执行
else
条件为假执行
fi


if 条件表达式1 ;then
条件1满足执行
elif 条件2 ;then
条件2满足执行
......
else
其他条件满足执行
fi


case $str in
Y|y)
echo "分支1"
;;
N|n)
echo "分支2"
;;
*)
echo "其他分支"
esac

 

循环
for i in 列表
do
循环体
done


while 条件表达式
do
循环体
done


以中括号[] 来表达的表达式,整数判断使用以下来表示
-lt 小于
-gt 大于
-ge 大于等于
-le 小于等于
-eq 等于
-ne 不等于

-d 目录存在为真
-f 普通文件存在为真
-e 文件存在为真
-x 可执行为真
-r 可读为真
-w 可写为真

 

以双小括号(()) 表示
==
<
>
>=
<=

 

posted @ 2019-12-03 20:55  相磊  阅读(94)  评论(0编辑  收藏  举报