- 浏览: 902756 次
- 性别:
- 来自: 上海
文章分类
- 全部博客 (466)
- iPhone, iOS , Objective-c (155)
- 数据库 (20)
- 设计模式 (5)
- 第三方包管理,cocoapod (2)
- 版本管理, SVN, Subversion, Git (1)
- Google, Android, Java (14)
- Wordpress (1)
- 职业素养 (3)
- 版本管理,git (3)
- 前端小技巧 (2)
- flash (1)
- javascript (5)
- Ruby (0)
- 编程语言 (1)
- 网络常识 (1)
- 找到生活好感觉 (5)
- 产品经理 (1)
- markdown (1)
- 云服务器 (1)
- iPhone (116)
- iOS (116)
- Objective-c (116)
- 学习技巧 (2)
- Google (5)
- Android (6)
- Java (21)
- python (1)
- sqlite (3)
- node.js (2)
- mongodb (2)
- 学习技巧,阅读 (2)
- 软件测试 (3)
- 架构设计 (2)
- 设计 (1)
- Spring framework (3)
- junit (1)
- Linux (2)
- 软件 (1)
- Struts2 (1)
- 版本管理 (3)
- SVN (3)
- Subversion (3)
- Git (3)
- mysql (5)
- quartz (1)
- 无关技术 (1)
- 前端 (1)
- Redis (1)
- 产品管理 (0)
- 计算机常识 (1)
- 计算机科学 (0)
- swift (1)
- 服务器 (2)
- 搜索 (1)
- Scala (1)
- J2EE (1)
- maven (1)
- 前端css (1)
- 英语 (1)
- 消息队列 (1)
- kafka (0)
- apache kafka (4)
- netbeans (1)
- IDE (2)
- 歌词 (1)
- 过滤器实现 (1)
- linux vim vi (1)
- jmeter (1)
- springcloud (1)
最新评论
-
hujingnemo:
不知道为什么打不开
CHM如何改编字体大小 -
weiboyuan:
求答案 weiboyuanios@163.com
iOS软件工程师面试题(高级) -
xueji5368:
这个现在已经广泛使用了嘛!
RoboGuice入门 -
Yao__Shun__Yu:
...
CHM如何改编字体大小 -
353144886:
非常之详细 美女求认识
sqlite数据类型 datetime处理
1.幸好本人养成了个好习惯,无论改动的大小我都会先备份一份数据
-rw-r--r-- 1 root root 2473664 07-30 09:38 terminfo-bak0730.sql
找到了,果然是7月30号早上09点38分左右备份的,幸好有备份啊,要不然就悲催了.......先把备份的导到测试数据库上,表名改为terminfo0730,然后再把当前生产的数据导到,表名改为terminfo0926,这样的做法是在还原数据后匹配一下数据有没有对得上。
mysql>use reed
Database changed
mysql> show tables;
+----------------+
|Tables_in_reed|
+----------------+
| terminfo0730 |
| terminfo0926 |
+----------------+
2.最重要的一步来了,就是提取binlog日志。因为7月30号备份的,所以要找7月30号之后到9月26号的binlog。
-rw-rw----1 mysql mysql 107374208408-0920:03 mysql-bin.000086
-rw-rw----1 mysql mysql 107374189408-2604:51 mysql-bin.000087
-rw-rw----1 mysql mysql 107374207809-1211:12 mysql-bin.000088
-rw-rw----1 mysql mysql 107663780509-2611:55 mysql-bin.000089
-rw-rw----1 mysql mysql 4533942009-2618:50 mysql-bin.000090
利用mysqlbinlog命令先进行第一轮的sql语句提取
#mysqlbinlog --no-defaults --database=ecard --start-datetime='2012-07-30 09:38:00' mysql-bin.000086 > log86.txt # 这里要设置起始时间
#mysqlbinlog --no-defaults --database=ecard mysql-bin.000087 > log87.txt
#mysqlbinlog --no-defaults --database=ecard mysql-bin.000088 > log88.txt
#mysqlbinlog --no-defaults --database=ecard mysql-bin.000089 > log89.txt
#mysqlbinlog --no-defaults --database=ecard mysql-bin.000090 > log90.txt
#ls -l
-rw-r--r-- 1 root root 1553740972 09-26 19:38 log86.txt
-rw-r--r--1 root root 153286277909-2619:52 log87.txt
-rw-r--r--1 root root 157780920009-2619:55 log88.txt
-rw-r--r--1 root root 158045208209-2619:57 log89.txt
-rw-r--r--1 root root 6494588409-2619:58 log90.txt
提取出来后是全部的sql语句,而我需要的是只对terminfo操作的sql语句,所以要进行第二轮提取
#grep terminfo log86.txt > log86-terminfo.txt #依次grep出来
[root@localhost txt]# ll
总计264
-rw-r--r--1 root root 2020609-2619:50 log86-terminfo.txt
-rw-r--r--1 root root 7874009-2619:59 log87-terminfo.txt
-rw-r--r--1 root root 6542909-2619:59 log88-terminfo.txt
-rw-r--r--1 root root 6529409-2619:59 log89-terminfo.txt
-rw-r--r--1 root root 94109-2620:00 log90-terminfo.txt
提取出来后,里面就是所有对terminfo的sql语句了,把这些数据导入到测试库terminfo0730表中
mysql > source log86-terminfo.txt; #依次source进去,务必要注意顺序问题!!!
导进去之后再比较一下terminfo0730和terminfo0926表的数据数量有没有一样,然后再叫部门同事验证一下数据正确性。
到此,数据成功恢复还原。一次难忘的经历啊,也同时告诫自己,细心细心再细心!!
-rw-r--r-- 1 root root 2473664 07-30 09:38 terminfo-bak0730.sql
找到了,果然是7月30号早上09点38分左右备份的,幸好有备份啊,要不然就悲催了.......先把备份的导到测试数据库上,表名改为terminfo0730,然后再把当前生产的数据导到,表名改为terminfo0926,这样的做法是在还原数据后匹配一下数据有没有对得上。
mysql>use reed
Database changed
mysql> show tables;
+----------------+
|Tables_in_reed|
+----------------+
| terminfo0730 |
| terminfo0926 |
+----------------+
2.最重要的一步来了,就是提取binlog日志。因为7月30号备份的,所以要找7月30号之后到9月26号的binlog。
-rw-rw----1 mysql mysql 107374208408-0920:03 mysql-bin.000086
-rw-rw----1 mysql mysql 107374189408-2604:51 mysql-bin.000087
-rw-rw----1 mysql mysql 107374207809-1211:12 mysql-bin.000088
-rw-rw----1 mysql mysql 107663780509-2611:55 mysql-bin.000089
-rw-rw----1 mysql mysql 4533942009-2618:50 mysql-bin.000090
利用mysqlbinlog命令先进行第一轮的sql语句提取
#mysqlbinlog --no-defaults --database=ecard --start-datetime='2012-07-30 09:38:00' mysql-bin.000086 > log86.txt # 这里要设置起始时间
#mysqlbinlog --no-defaults --database=ecard mysql-bin.000087 > log87.txt
#mysqlbinlog --no-defaults --database=ecard mysql-bin.000088 > log88.txt
#mysqlbinlog --no-defaults --database=ecard mysql-bin.000089 > log89.txt
#mysqlbinlog --no-defaults --database=ecard mysql-bin.000090 > log90.txt
#ls -l
-rw-r--r-- 1 root root 1553740972 09-26 19:38 log86.txt
-rw-r--r--1 root root 153286277909-2619:52 log87.txt
-rw-r--r--1 root root 157780920009-2619:55 log88.txt
-rw-r--r--1 root root 158045208209-2619:57 log89.txt
-rw-r--r--1 root root 6494588409-2619:58 log90.txt
提取出来后是全部的sql语句,而我需要的是只对terminfo操作的sql语句,所以要进行第二轮提取
#grep terminfo log86.txt > log86-terminfo.txt #依次grep出来
[root@localhost txt]# ll
总计264
-rw-r--r--1 root root 2020609-2619:50 log86-terminfo.txt
-rw-r--r--1 root root 7874009-2619:59 log87-terminfo.txt
-rw-r--r--1 root root 6542909-2619:59 log88-terminfo.txt
-rw-r--r--1 root root 6529409-2619:59 log89-terminfo.txt
-rw-r--r--1 root root 94109-2620:00 log90-terminfo.txt
提取出来后,里面就是所有对terminfo的sql语句了,把这些数据导入到测试库terminfo0730表中
mysql > source log86-terminfo.txt; #依次source进去,务必要注意顺序问题!!!
导进去之后再比较一下terminfo0730和terminfo0926表的数据数量有没有一样,然后再叫部门同事验证一下数据正确性。
到此,数据成功恢复还原。一次难忘的经历啊,也同时告诫自己,细心细心再细心!!
发表评论
-
创建mysql数据库,默认字符集utf8
2017-10-10 09:58 838如下脚本创建数据库yourdbname,并制定默认的字符集是u ... -
MySql中文排序
2017-06-12 15:22 669在处理使用Mysql时,数据表采用utf8字符集,使用中发现中 ... -
mongodb设计套路
2017-06-10 11:40 424内嵌的方式性能更好 引用的方式方便写入更新 多对多关系多采用_ ... -
数据库三大范式
2015-12-07 15:12 647第一范式:确保每列的原子性. 如果每列(或者每个属性) ... -
命令行安装Redis
2015-11-18 18:02 635安装Redis cd ~ curl -O http://d ... -
MySql记录执行语句
2015-10-16 14:55 809-- 打开sql执行记录功能 set global log_o ... -
mysql常用聚合函数
2015-08-17 17:12 998原帖地址:http://blog.csdn.net/liaom ... -
让MySQL在 Mac OS X Yosemite上开机启动
2015-04-20 14:23 789先用命令行vi建立这个XML sudo vi /Library ... -
mySql count()函数
2015-03-09 16:29 601count() 仅仅是计算行数的. 仅仅当你 指定的列名里面 ... -
卸载windows下mysql数据库的方法
2015-03-02 13:23 0For Windows 7 and Windows 2008 ... -
iBatis加锁
2014-07-10 17:48 870ibatis有事务处理,它有代理类SqlMapExecutor ... -
sqlite数据库怎样实现全外连接
2014-07-02 20:37 1575sqlite数据库执行full outer join时提示:R ... -
转:DBA应该具有什么样的素质?
2014-05-22 13:57 739问题起源于在写一份材料的时候,对于自己的反思。 我把自己的 ... -
sqlite精华
2014-05-20 09:45 0数据库定义语言(DDL) 创建表 create [temp] ... -
iPhone通讯录联系人操作大全
2014-05-07 10:29 14551.需要引入AddressBook.framework框架 2 ... -
sqlite获取最新插入的rowid
2014-05-07 09:59 1516除了 last_insert_rowid select max ... -
[转]换个方法学习数据库
2013-07-22 16:27 872不建议按部就班的学习 ... -
关联表的意义
2013-07-22 10:24 984两个数据库及其(数据)表之间的数据的相互依赖和影响关系。 比如 ... -
mysql mac os 加入命令行及mac mysql开始无密码重置密码
2013-07-21 10:52 3966You might want to add aliases t ... -
sqlite数据类型 datetime处理
2012-03-16 15:34 35269Phone应用程序中Sqlite时间函数及时间处理是本文要介绍 ...
相关推荐
根据题目中的描述,我们可以了解到MySQL数据库备份文件的还原步骤。下面将对这些步骤进行详细说明: 1. **创建对应同名的数据库**: - 首先需要使用 `EditPlus` 或其他文本编辑器打开备份文件(`.sql`),找到文件...
这个工具的使用方法简单,只需要指定MySQL安装路径下的bin目录,其中包含必要的备份程序如mysqldump。通过这样的方式,工具能够自动找到并调用这些程序来执行备份任务。用户通常需要提供数据库连接信息,包括服务器...
MySQL的Xb文件是一种物理备份格式,用于在不同的主机之间恢复数据库。这种备份方式涉及到Percona XtraBackup工具,它提供了高效且可靠的InnoDB表的数据和日志文件备份功能。以下是对Xb文件物理备份恢复数据库的详细...
为了便于管理,通常会将要导入的 `.sql` 文件移动到 MySQL 的 bin 文件夹下。 ##### 步骤 2: 进入 MySQL 目录下的 bin 文件夹 确保命令提示符当前所在的目录是 MySQL 的 bin 文件夹。 ##### 步骤 3: 登录 MySQL ...
### MySQL 数据备份与还原详解 #### 一、MySQL 数据备份的重要性 在数据库管理中,数据备份是一项非常重要的工作。它可以防止因系统故障、误操作、病毒攻击等原因导致的数据丢失,确保业务连续性和数据安全性。...
### MySQL备份与还原知识点 #### 一、MySQL备份方法 MySQL数据库备份是非常重要的维护工作之一,主要用于防止数据丢失,确保业务连续性。备份通常分为全量备份和增量备份。 **全量备份**:指的是将数据库中的所有...
在Windows中,命令可能类似于`"C:\Program Files\MySQL\MySQL Server x.x\bin\mysqldump"`,而在Linux中,可能需要使用绝对路径或者在`$PATH`环境变量中包含`mysqldump`的路径。Java代码可以通过读取注册表(仅限...
### MySQL数据库备份与还原知识点详解 #### 一、MySQL数据库备份的重要性 在现代数据库管理中,备份是一项至关重要的任务。它不仅可以帮助我们防止因意外事件(如硬件故障、人为错误或恶意攻击)而导致的数据丢失...
还原过程涉及将备份文件(通常是`.sql`文件)导入到MySQL数据库中。在Java中,我们可以使用`mysql`命令行客户端来实现: ```java Runtime.getRuntime().exec("mysql -u [username] -p[password] -h [hostname] ...
1. 编辑MySQL配置文件`my.cnf`,在[mysqld]段落下添加`log-bin`选项,指定binlog的存储路径,例如:`log-bin=/var/lib/mysql/mysql-bin.log`。 2. 保存配置文件并重启MySQL服务,使新配置生效。这将开始记录所有的...
创建`reduce_db.sh`脚本,包含还原过程的逻辑,如解压备份文件并使用`mysql`命令导入数据。 2. **设置定时还原任务**: 使用`crontab -e`设置定时还原任务,例如每天早晨8点执行还原: ```bash 0 8 * * * /usr/...
2. **切换到MySQL的bin目录**:使用`cd`命令切换到MySQL的安装目录下的bin目录,例如`cd /Program Files/MySQL/MySQL Server 5.0/bin`。 3. **执行备份命令**:使用`mysqldump`命令备份指定的数据库,例如`mysqldump...
总之,MySQL的备份和还原可以通过`mysqldump`进行逻辑备份,也可以直接操作数据库文件进行物理备份。根据实际情况选择合适的方法,并确保在备份和还原过程中考虑到权限、日志和系统设置等因素,以确保数据的完整性和...
首先,将.sql备份文件放到MySQL的bin目录下。然后,在命令行界面登录到MySQL服务器。可以使用mysql命令登录,然后使用source命令执行.sql文件,来还原数据库到备份时的状态。 例如: mysql -u root -p Enter ...
/ bin / myloader -h测试$ make test用法mydumper ./bin / mydumper -h用法:./bin/mydumper -c conf / mydumper.ini.sample -c字符串配置文件示例:$。/ bin / mydumper -c conf / mydumper.ini.sample 2017/10/25
MySQL日志与备份还原是数据库管理中的重要环节,它们对于数据的安全性和可恢复性起着至关重要的作用。本文主要探讨了MySQL的错误日志、二进制日志(BINLOG)、数据备份和数据恢复这四个关键知识点。 首先,错误日志...
# perl Makefile.PL –mysql_config=/usr/local/mysql/bin/mysql_config # make ; make install ``` 2. **日志备份** 日志备份主要用于备份二进制日志文件,这些日志记录了数据库的所有更改,可用于增量恢复。...
例如,如果要查看 `mysql-bin.000001` 和 `mysql-bin.000006` 文件的内容,并将其重定向到 `/root/bbx.log` 文件,命令行应写为:`mysqlbinlog mysql-bin.000001 mysql-bin.000006 > /root/bbx.log`。这将生成一个可...
例如,对于Windows系统,可以将路径`C:\Program Files\MySQL\MySQL Server 5.0\bin`添加到`Path`中。 2. **权限问题**:确保执行批处理文件的用户具有足够的权限访问MySQL数据库。 3. **WinRAR配置**:如果使用...