计划备份mysql数据库
作者:gzmast 来源:gzmaster 博客 发布时间:2009-03-09 14:34:00
1:mysql是我们使用最多的数据库,如果在日常中正确的对mysql数据进行备份,下面我们就来做这事,通过脚本来实现
###################################################################################################################################
#!/bin/bash
#backup My databases
#by luox at 2008-10-24
source /home/cacti/.bash_profile
PATH=/home/cacti/local/mysql5.0.22/bin:/home/cacti/local/php5.2.6/bin:/home/cacti/local/apache2.2.9/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
#date +%Y-%m-%d
#backup bbs database
mysqldump -S /home/cacti/tmp/mysql.sock -u bbsuser -p'pDdWShDzwXSLzSCB' --default-character-set=gbk --opt --extended-insert=false --hex-blob bbsuser >/home/cacti/backup/bbsuser_bak_`date +%Y-%m-%d`.sql
#compress the bak files
bzip2 /home/cacti/backup/bbsuser_bak_`date +%Y-%m-%d`.sql
#remove 4 week old bak files
find /home/cacti/backup/ -name '*.bz2' -ctime +28 -exec rm {} \;
##################################################################################################################################
通过上面的脚本就可以实现备份数据,简单介绍一下mysqldump这个命令的使用(上文中粗体bbsuser指的是数据库名)
-S 指定数据库使用的sock文件,一个系统中可以运行多个不同端口的mysql,如果要连接这个数据库就需要用到这个参数来指定sock文件
-u 指定用户,在这里,如果我们备份bbsuser数据库,只需要用到bbsuser这个用户就可以了。当然root用户也可以,只不过我们写在脚本里当然用权限小点更佳
-p 指定密码,使用''将密码括起来
--default-character-set= 用于设置数据库的格式,这和数据库使用默认的语言有关,可以连接到数据库里使用show variables;来查看当前,一般有utf8 gbk
--opt 实施备份可能是最常用的方法,因为备份速度上的优势
--extended-insert=false 是为了导出为多行Insert,不然可能因为Insert语句过长出错
--hex-blob 使用十六进制格式导出二进制字符串字段
-A, --all-databases Dump all the databases. This will be same as --databases with all databases selected. 可以用于备份所有数据库
PS:使用date +%Y-%m-%d 可以显示出当天的日期,我们在备份时也加个这参数可以起很好的标识备份文件日期作用。如果在mysqldump中引用date需要使用`date +%Y-%m-%d`
2:bzip2 可以将文件压缩成bz2的文件,并且删除掉原来的,
3:通过find来查找,然后根据时间,如果多于28天(4周)就进行删除。
4:接下来还可以将这个脚本执行放到Crontab中,让脚本一天运行一次,就可以对数据进行很好的备份了。
#################################################################################
#backup my database
5 0 * * * /home/cacti/backup/backupmysql.sh >/dev/null 2>&1
#################################################################################
3:数据库的导入:
/home/cacti/local/mysql5.0.22/bin/mysql -S /home/cacti/tmp/mysql.sock -ubbsuser -p'pDdWShDzwXSLzSCB' bbsuser </home/cacti/backup/bbsuser_bak_2008-10-24.sql


猜你喜欢
- 前沿以前go工程都是在我mac上打包成镜像然后再推到我的docker hub上去,每次更新都要经过打包->推送到dockert仓库-&
- 一、概论超大型系统的特点为:1、处理的用户数一般都超过百万,有的还超过千万,数据库的数据量一般超过1TB;2、系统必须提供实时响应功能,系统
- sqlserver批量导出存储过程在查询分析器中,选中数据库——》右键“任务”——》在弹出菜单中选择“生成脚本”——》“下一步”——》选择你
- auth模块简介auth模块是对登录认证方法的一种封装,之前我们获取用户输入的用户名及密码后需要自己从user表里查询有没有用户名和密码符合
- Python3支持三种不同的数值类型:整型(int)--通常被称为是整型或整数,可以是正整数或负整数,不带小数点。Python3整型是没有限
- 安装方法:Windows:在终端输入命令:pip install scrapy;mac:在终端输入命令:pip3 install scrap
- Python没有类似于Java的private关键字, 但也可以为类定义私有属性. 只需将属性命名变为以__开头, 例如 __field.示
- GMSSL模块介绍GmSSL是一个开源的加密包的python实现,支持SM2/SM3/SM4等国密(国家商用密码)算法、项目采用对商业应用友
- 实验环境:windows 7,anaconda 3(Python 3.5),tensorflow(gpu/cpu)函数介绍:标准化处理可以使
- 最近在折腾Python Web,在测试的时候发现,本机可以正常访问,但外网无法通过公网IP访问页面。经过各种搜索,有大致三种解决方案。一、修
- dictPython内置了字典:dict的支持,dict全称dictionary,在其他语言种也称为map,使用键-值(key-value)
- 描述:使用QtDesignner设计界面,pyQt5+python3实现主体方法制作的猜数字游戏。游戏规则:先选择游戏等级:初级、中级、高级
- 北京时间2月15日据国外媒体报道,美国知名sns网站Facebook全球活跃用户量已突破1.75亿大关。数据显示,全球20%的网民都使用Fa
- Javascript 数组的工作方式与大多数编程语言的数组类似。<!DOCTYPE html><html lang=&qu
- <?php /* *文件名:linearList.php * 功能:数据结构线性表的顺序存储实现 * author:黎锦焕 * @co
- 前言gif图就是动态图,它的原理和视频有点类似,也是通过很多静态图片合成的.本篇文章主要介绍,如何利用Python快速合成gif图,主要利用
- PHP将ppt转成图片查看PHP安装COM组件1、如php版本>5.3.15,需要保证ext文件夹下有php_com_dotnet.d
- 树状图树状图是显示对象、组或变量之间的层次关系的图表。树状图由在节点或簇处连接的分支组成,它们代表具有相似特征的观察组。分支的高度或节点之间
- sqrt()方法返回x的平方根(x>0)。语法以下是sqrt()方法的语法:import mathmath.sqrt( x
- 详细解读Jquery各Ajax函数:$.get(),$.post(),$.ajax(),$.getJSON()一,$.get(url,[da