MySQL mysqldump 数据备份
1、mysqldump 命令工具说明
--triggers 同时导出触发器。该选项默认启用,用 --skip-triggers 禁用它。
2、例子
1.导出整个数据库(–hex-blob 为有blob数据做的,防止乱码和导入失败用)
mysqldump -u 用户名 -p 数据库名 > 导出的文件名
mysqldump -u root -p --default-character-set=gbk --hex-blob i5a6 > i5a6.sql
2.导出一个表
mysqldump -u 用户名 -p 数据库名 表名> 导出的文件名
mysqldump -u root -p i5a6 users> i5a6.sql
3.导出一个数据库结构
mysqldump -u root -p -d --add-drop-table i5a6 >d:/i5a6.sql
-d 没有数据 –add-drop-table 在每个create语句之前增加一个drop table
4.导入数据库
常用source 命令
进入MySQL数据库控制台,
如MySQL -u root -p
mysql>use 数据库
然后使用source命令,后面参数为脚本文件(如这里用到的.sql)
mysql>source d:/i5a6.sql
5、Shell脚本
上面都是比较散的代码,下面我们来看shell代码
我首先要在本文带给你的是完整脚本。后面会对该脚本做说明。我假定你已经知道shell scripting、 mysqldump和crontab。
数据库导出代码,代码如下
#!/bin/bash
#1.数据库信息定义
mysql_host="192.168.1.1"
mysql_user="root"
mysql_passwd="root"
#sql备份目录
root_dir="/backup"
back_dir="/backup/databases"
data_dir="databases"
store_dir="database"
if [ ! -d $back_dir ]; then
mkdir -p $back_dir
fi
#备份的数据库数组
db_arr=$(echo "show databases;" | mysql -u$mysql_user -p$mysql_passwd -h$mysql_host)
#不需要备份的单例数据库
nodeldb="test1"
#当前日期
date=$(date -d '+0 days' +%Y%m%d)
#zip打包密码
zippasswd="passwd"
zipname="lczh_"$date".zip"
#2.进入到备份目录
cd $back_dir
#3.循环备份
for dbname in ${db_arr}
do
if [ $dbname != $nodeldb ]; then
sqlfile=$dbname-$date".sql"
mysqldump -u$mysql_user -p$mysql_passwd -h$mysql_host $dbname >$sqlfile
fi
done
#4.tar打包所有的sql文件
tar -zcPpf $root_dir/$store_dir/$zipname --directory / $root_dir/$data_dir
#打包成功后删除sql文件
if [ $? = 0 ]; then
rm -r $data_dir
fi
数据定期清理脚本
作用
定期清理14天前的备份文件
代码如下 复制代码
#!/bin/bash -
#1.参数配置
#mysql文件备份目录
backup_dir1="/backup/test1/"
backup_dir2="/backup/test2/"
backdir_arr=($backup_dir1 $backup_dir2)
#过期文件的时间
keep_time=14
#当前所在星期,crontab在奇数的星期7执行
week=$(date +%W)
flag=`expr $week % 2`
#2.清理过期文件,只在奇数星期7执行
if [ $flag -eq 1 ]; then
for dir in ${backdir_arr[*]}
do
if [ -d $dir ]; then
#查找14天之外的文件数据
clean_arr=`find $dir -type f -mtime +$keep_time -exec ls {} ;`
for cleanfile in ${clean_arr}
do
rm $cleanfile
done
fi
done
fi
crontab配置
代码如下
0 5 * * 7 执行清理脚本
4、其他
最近在备份还原mysql 的时候发现,视图还原报错,无法创建视图,在网上查了下资料,找到以下信息:
添加时间:
mysqldump -uroot --default-character-set=utf8 --hex-blob -p"kEy31kG_" gameonline | gzip > /data/mysqlback/gameonline`date +%Y-%m-%d_%H%M%S`.sql.gz
MySQL mysqldump 数据备份的更多相关文章
- MySQL的数据备份以及pymysql的使用
一.MySQL的数据备份 语法: # mysqldump -h 服务器 -u用户名 -p密码 数据库名 > 备份文件.sql #示例: #单库备份 mysqldump -uroot -p123 ...
- MySQL之mysqldump数据备份还原
一 mysqldump指令实现数据备份.mysql指令实现数据还原 经常有朋友问我,DBA到底是做什么的,百科上说:数据库管理员(Database Administrator,简称DBA),是从事管理 ...
- MySQL mysqldump数据导出详解
介绍 在日常维护工作当中经常会需要对数据进行导出操作,而mysqldump是导出数据过程中使用非常频繁的一个工具:它自带的功能参数非常多,文章中会列举出一些常用的操作,在文章末尾会将所有的参数详细说明 ...
- MySQL mysqldump数据导出详解 --dump-slave 注意事项
http://www.cnblogs.com/chenmh/p/5300370.html 介绍 在日常维护工作当中经常会需要对数据进行导出操作,而mysqldump是导出数据过程中使用非常频繁的一个工 ...
- MySQL之数据备份、pymysql模块
一 IDE工具介绍 生产环境还是推荐使用mysql命令行,但为了方便我们测试,可以使用IDE工具 下载链接:https://pan.baidu.com/s/1bpo5mqj 掌握: #1. 测试+链接 ...
- 涂抹mysql笔记-数据备份和恢复
<>物理备份和逻辑备份<>联机备份和脱机备份<>本地备份和远程备份<>完整备份和增量备份<>完整恢复和增量恢复<>复制表相关文件 ...
- mysql之数据备份与还原
mysql数据备份 #1. 物理备份: 直接复制数据库文件,适用于大型数据库环境.但不能恢复到异构系统中如Windows. #2. 逻辑备份: 备份的是建表.建库.插入等操作所执行SQL语句,适用于中 ...
- MySQL mysqldump数据导出基本操作
mysqldump mysqldump命令是mysql数据库中备份工具,用于将MySQL服务器中的数据库以标准的sql语言的方式导出,并保存到文件中. 选项 --all-databases, -A:导 ...
- Python数据库MySQL之数据备份、pymysql模块
一 IDE工具介绍 生产环境还是推荐使用mysql命令行,但为了方便我们测试,可以使用IDE工具 下载链接:https://pan.baidu.com/s/1bpo5mqj 掌握: #1. 测试+链接 ...
随机推荐
- leecode 978. Longest Turbulent Subarray(最长连续波动序列,DP or 滚动数组)
传送门:点我 978. Longest Turbulent Subarray A subarray A[i], A[i+1], ..., A[j] of A is said to be turbule ...
- JavaScript各种继承方式(二):借用构造函数继承(constructor stealing)
一 原理 在子类的构造函数中,通过call ( ) 或 apply ( ) 的形式,调用父类的构造函数来实现继承. function Fruit(name){ this.name = name; th ...
- Chrome控制台格式化输出
一 格式化输出文字 console.log('%c你好','color:green;'); console.log('%c你好%c啊','color:green;','color:blue;'); 二 ...
- 不通过调用__Init__来创建实例
老样子,抛出个问题,我们想要创建一个实例,但是由于某些原因想绕过__init__方法,用别的方式来进行创建. 举个栗子 小贱贱反序列化数据,或者说实现一个类方法将其作为备选的构造函数,都属于这种情况. ...
- swift - 16进制颜色扩展(1.支持# 2.支持不带# , 3支持带0X)
/** * 设置16进制颜色: * 可识别类型 * 1:有# * 2:没有# * 3:含有0X */ extension UIColor{ class func hexadecimalColor(he ...
- [Z]sql优化
前言:平常写的SQL可能主要以实现查询出结果为主,但如果数据量一大,就会突出SQL查询语句优化的性能独特之处.一般的数据库设计都会建索引查询,这样较全盘扫描查询的确快了不少.下面总结下SQL查询语句的 ...
- PAT 1068 万绿丛中一点红(20)(测试点分析+思路分析)
1068 万绿丛中一点红(20 分) 对于计算机而言,颜色不过是像素点对应的一个 24 位的数值.现给定一幅分辨率为 M×N 的画,要求你找出万绿丛中的一点红,即有独一无二颜色的那个像素点,并且该点的 ...
- 2018 How to register and install LAUNCH ICARSCAN software ?
2018 New Version ICARSCAN is available now! Here’s the instruction on how to install ICARSCAN softwa ...
- UEFI、BIOS、Secure Boot的关系和知识介绍
从Windows 8操作系统时代开始,安装操作系统的方法也有了很大的改变,Windows 8采用了Secure Boot引导启动的方式,而不是过去Win XP和Win 7的Legacy启动方式,从 ...
- 可迭代对象(Iterable)和迭代器(Iterator)
迭代是访问集合元素的一种方式. 迭代器是一个可以记住遍历的位置的对象. 迭代器对象从集合的第一 个元素开始访问,直到所有的元素被访问完结束.迭代器只能往前不会后退. 1. 可迭代对象 以直接作用于 ...