为服务器添加定时脚本+备份数据库

首先crontab -l

查看已有的时程表,能够展示当前的定时任务有哪些

 

编写脚本:

#!/bin/bash

HOST:127.0.0.1

User=root

PW=mima

DATETIME=$(date +%Y_%m_%d_%H%M%S)

echo "执行日期:" + ${DATETIME}

echo "开始执行清理8小时前binlog"
mysql -u$User -p$PW <<EOF

PURGE MASTER LOGS BEFORE DATE_SUB( NOW( ), INTERVAL 8 HOUR);//清除8小时前的bin日志
EOF
echo "执行清理8小时前binlog完成~"

 

 

Binlog是什么

  binlog是一个二进制格式的文件,用于记录用户对数据库更新的SQL语句信息,例如更改数据库表和更改内容的SQL语句都会记录到binlog里,但是对库表等内容的查询不会记录

   默认情况下,binlog日志是二进制格式的,不能使用查看文本工具的命令(比如,cat,vi等)查看,而使用mysqlbinlog解析查看。

 binlog作用:主要作用是用于数据库的主从复制及数据的增量恢复。

  当有数据写入到数据库时,还会同时把更新的SQL语句写入到对应的binlog文件里,这个文件就是上文说的binlog文件。使用mysqldump备份时,只是对一段时间的数据进行全备,但是如果备份后突然发现数据库服务器故障,这个时候就要用到binlog的日志了。

 

备份与还原数据库命令 原文:https://www.cnblogs.com/yanghongtao/p/10897282.html

1.格式:mysqldump -h主机名 -P端口 -u用户名 -p密码 --database 数据库名 > 文件名.sql

myslqdump -h 127.0.0.1 -p 22 -u root -p password --database  eclp_master>/data/backup/eclp_master.sql

2、备份压缩

导出的数据有可能比较大,不好备份到远程,这时候就需要进行压缩

格式:mysqldump -h主机名 -P端口 -u用户名 -p密码 --database 数据库名 | gzip > 文件名.sql.gz

例如: mysqldump -h192.168.1.100 -p 3306 -uroot -ppassword --database cmdb | gzip > /data/backup/cmdb.sql.gz

 

3、备份同个库多个表

格式:mysqldump -h主机名 -P端口 -u用户名 -p密码 --database 数据库名 表1 表2 .... > 文件名.sql

例如 mysqldump -h192.168.1.100 -p3306 -uroot -ppassword cmdb t1 t2 > /data/backup/cmdb_t1_t2.sql

 

4、同时备份多个库

格式:mysqldump -h主机名 -P端口 -u用户名 -p密码 --databases 数据库名1 数据库名2 数据库名3 > 文件名.sql

例如:mysqldump -h192.168.1.100 -uroot -ppassword --databases cmdb bbs blog > /data/backup/mutil_db.sql

 

5、备份实例上所有的数据库

格式:mysqldump -h主机名 -P端口 -u用户名 -p密码 --all-databases > 文件名.sql

例如:mysqldump -h192.168.1.100 -p3306 -uroot -ppassword --all-databases > /data/backup/all_db.sql

 

 

6、备份数据出带删除数据库或者表的sql备份

格式:mysqldump -h主机名 -P端口 -u用户名 -p密码 --add-drop-table --add-drop-database 数据库名 > 文件名.sql

例如:mysqldump -uroot -ppassword --add-drop-table --add-drop-database cmdb > /data/backup/all_db.sql

 

7、备份数据库结构,不备份数据

格式:mysqldump -h主机名 -P端口 -u用户名 -p密码 --no-data 数据库名1 数据库名2 数据库名3 > 文件名.sql

例如:mysqldump --no-data –databases db1 db2 cmdb > /data/backup/structure.sql

 

8、还原 数据库

连接到数据库中,并创建crm2这个库   要还原的库的名称
  mysql -u root -p666
  mysql> create database crm2;
退出mysql或者重新启动一个cmd窗口,然后执行
  mysql -uroot -p 库名 < mysqldump出来的那个sql文件的路径
例如:mysql -uroot -p crm2< f:\数据库备份练习\crm2.sql

这样就恢复好了,我们连接上数据库并查看里面的内容:
  mysql -u root -p666
  use crm2;
  mysql> show tables;

相关文章