`
qing_gee
  • 浏览: 118102 次
  • 性别: Icon_minigender_1
  • 来自: 河南
社区版块
存档分类
最新评论

mysql之备份和导入数据(包括二进制日志)

阅读更多

前言:今天早上在写博客时,思索再三,没有更好的头绪,就想起了以前在操作mysql的时候,经常要用的一些命令,下面就来简单介绍一下

 

备份数据:

C:\Users\xxxx>mysqldump -uxxx -pxxx backup > backup.sql

C:\Users\xxxx>

 mysqldump :mysql用于存储数据库的应用程序,会产生一个sql文件,如上文的backup.sql,其中包含了数据库的create、insert into等语句。

 

随后我们使用dir命令查看一下C:\Users\xxxx>目录的文件列表,可以看到

2014/08/23  10:15             1,271 backup.sql

 恢复数据:

mysql> use backup;
Database changed
mysql> source C:\Users\xxxx\backup.sql
Query OK, 0 rows affected (0.00 sec)

Query OK, 0 rows affected (0.03 sec)

 使用mysql命令进入到mysql命令行,使用use backup切换数据库,然后使用source命令进行数据的恢复。

 

以上source命令在处理mysql的大量数据恢复时,速度还是比较可观的。

但是我们在真实的项目当中,经常需要用到二进制日志,那么下面我们来做一个二进制的日志备份操作

 

首先:我们查看一下mysql二进制日志是否开启

mysql> show variables like 'log_bin';
+---------------+-------+
| Variable_name | Value |
+---------------+-------+
| log_bin       | OFF   |
+---------------+-------+
1 row in set (0.14 sec)

 

第二步:我们开启二进制日志(在Windows的mysql安装目录中的my.ini文件中增加以下内容,确保你的f盘有mysqlbin目录

# add log-bin
log-bin=f:/mysqlbin/binlog.log
# set the database for test
binlog-do-db=backup

 

第三步:我们重启一下mysql

C:\Users\xxxx>net stop mysql
MySQL 服务正在停止.
MySQL 服务已成功停止。


C:\Users\xxxx>net start mysql
MySQL 服务正在启动 .
MySQL 服务已经启动成功。

第四步:再次查看log_bin是否开启

mysql> show variables like 'log_bin';
+---------------+-------+
| Variable_name | Value |
+---------------+-------+
| log_bin       | ON    |
+---------------+-------+
1 row in set (0.00 sec)

 

第五步:对backup数据库进行一下操作,假如已经存在

mysql> show columns from binlog;
+-------+---------+------+-----+---------+-------+
| Field | Type    | Null | Key | Default | Extra |
+-------+---------+------+-----+---------+-------+
| id    | int(11) | YES  |     | NULL    |       |
+-------+---------+------+-----+---------+-------+
1 row in set (0.08 sec)

mysql>

 我们插入一条数据

mysql> insert into binlog values (2);
Query OK, 1 row affected (0.01 sec)

mysql> select * from binlog;
+------+
| id   |
+------+
|    1 |
|    2 |
+------+
2 rows in set (0.00 sec)

mysql>

 

第六步:我们查看一下二进制日志目录

F:\mysqlbin>dir
 驱动器 F 中的卷是 F:
 卷的序列号是 000C-A0EB

 F:\mysqlbin 的目录

2014/08/23  11:02    <DIR>          .
2014/08/23  11:02    <DIR>          ..
2014/08/23  11:02               126 binlog.000001
2014/08/23  11:02               107 binlog.000002
2014/08/23  11:02                52 binlog.index
               3 个文件            285 字节
               2 个目录 117,389,742,080 可用字节

第七步:我们再使用mysqlbinlog查看一下,内容比较多,上下使用了...空过,可以看到"insert into binlog values (2)"为我们刚刚操作的内容

F:\mysqlbin>mysqlbinlog binlog.000002
...
use backup/*!*/;
SET TIMESTAMP=1408763281/*!*/;
insert into binlog values (2)
/*!*/;
# at 271
#140823 11:08:01 server id 1  end_log_pos 298   Xid = 9
...

 

那么我们再次回去标题讲的二进制日志恢复和备份,备份就如前文所讲,那么就再来说说二进制的恢复

 

第一种:使用source命令,二进制日志是不能直接通过source命令来恢复,那么我们需要按照以下步骤来进行

 

第一步:先将二进制日志转换成普通sql文件

F:\mysqlbin>mysqlbinlog -uxxx -pxxx binlog.000001 > binlog1.sql

F:\mysqlbin>mysqlbinlog -uxxx -pxxx binlog.000002 > binlog2.sql

F:\mysqlbin>dir
 驱动器 F 中的卷是 F:
 卷的序列号是 000C-A0EB

 F:\mysqlbin 的目录

2014/08/23  11:22    <DIR>          .
2014/08/23  11:22    <DIR>          ..
2014/08/23  11:02               126 binlog.000001
2014/08/23  11:08               298 binlog.000002
2014/08/23  11:02                52 binlog.index
2014/08/23  11:22               644 binlog1.sql
2014/08/23  11:22             1,569 binlog2.sql
               5 个文件          2,689 字节
               2 个目录 117,389,737,984 可用字节

 

第二步:新建一个sql文件,里面输入以下内容

source F:\mysqlbin\binlog1.sql
source F:\mysqlbin\binlog2.sql

 

第三步:导入以上的sql文件

mysql> source C:\Users\xxx\backup.sql
Query OK, 0 rows affected (0.00 sec)

 

第二种方法,使用mysqlbinlog

F:\mysqlbin>mysqlbinlog binlog.000001 | mysql -uroot -proot

F:\mysqlbin>mysqlbinlog binlog.000002 | mysql -uroot -proot

 

最后:这些简单的,常用的命令,以及使用方式都是非常值得总结的。

 

2
1
分享到:
评论
2 楼 qing_gee 2014-08-26  
hawkon 写道
不管是主动想总结还是被迫总结,只要用心总结,还是有收获的。

恩,每周能写出这些文章,让我也很有满足感!
1 楼 hawkon 2014-08-26  
不管是主动想总结还是被迫总结,只要用心总结,还是有收获的。

相关推荐

    Linux下实现MySQL数据备份和恢复的命令使用全攻略

    1、利用Mysqldump+二进制日志实现备份 2、利用LVM快照+二进制日志实现备份 3、使用Xtrabackup备份 一:实验环境介绍: 系统介绍:CentOS6.4_X64 数据库版本:mysql-5.5.33 二:基于Mysqldump命令实现备份恢复 2.1、...

    MySQL执行delete误删除数据恢复

    使用事务日志:MySQL 的二进制日志(binlog)记录了数据库的所有变更操作,包括删除操作。你可以通过分析这些日志,找到误删数据的时间点和具体操作,然后通过回滚或者手动重放这些操作来进行数据恢复。 数据恢复...

    MYSQL日志与备份还原问题详解

    二、二进制日志 又称BINLOG,记录所有的DDL语句和DML语句,不包括查询语句。这个日志不仅非常重要,而且作为开发人员也非常喜欢这个日志。从它的定义可以看出,这个日志记录了所有会改变表结构和表数据的事件,所以...

    深入分析MySQL 的备份和恢复机制

    目前 MySQL 支持的免费备份工具有: mysqldump、mysqlhotcopy ,还可以用 SQL 语法进行备份: BACKUP TABLE 或者 SELECT INTO OUTFILE ,又或者备份 二进制日志(binlog) ,还可以是 直接拷贝数据文件和相关的配置...

    MySQL 5.1中文手冊

    8.6. mysqlbinlog:用于处理二进制日志文件的实用工具 8.7. mysqlcheck:表维护和维修程序 8.8. mysqldump:数据库备份程序 8.9. mysqlhotcopy:数据库备份程序 8.10. mysqlimport:数据导入程序 8.11. mysqlshow-...

    MySQL数据库运维之数据恢复的方法

    这些数据恢复方案在之前备份内容介绍时,此处总结一下恢复方案,并结合数据库的二进制日志做下数据恢复的示范! 一、恢复方案 1、数据量不是特别大,可以将mysqldump命令备份的数据使用mysql客户端命令或者source...

    MySql 5.1 参考手册.chm

    8.6. mysqlbinlog:用于处理二进制日志文件的实用工具 8.7. mysqlcheck:表维护和维修程序 8.8. mysqldump:数据库备份程序 8.9. mysqlhotcopy:数据库备份程序 8.10. mysqlimport:数据导入程序 8.11. mysqlshow-...

    mysql 数据库备份和还原方法集锦 推荐

    目前 MySQL 支持的免费备份工具有:mysqldump、mysqlhotcopy,还可以用 SQL 语法进行备份:BACKUP TABLE 或者 SELECT INTO OUTFILE,又或者备份二进制日志(binlog),还可以是直接拷贝数据文件和相关的配置文件。

    MySQL 5.1参考手册

    8.6. mysqlbinlog:用于处理二进制日志文件的实用工具 8.7. mysqlcheck:表维护和维修程序 8.8. mysqldump:数据库备份程序 8.9. mysqlhotcopy:数据库备份程序 8.10. mysqlimport:数据导入程序 8.11. mysqlshow-...

    MySQL 5.1参考手册 (中文版)

    8.6. mysqlbinlog:用于处理二进制日志文件的实用工具 8.7. mysqlcheck:表维护和维修程序 8.8. mysqldump:数据库备份程序 8.9. mysqlhotcopy:数据库备份程序 8.10. mysqlimport:数据导入程序 8.11. mysqlshow-...

    MySQL 5.1参考手册中文版

    8.6. mysqlbinlog:用于处理二进制日志文件的实用工具 8.7. mysqlcheck:表维护和维修程序 8.8. mysqldump:数据库备份程序 8.9. mysqlhotcopy:数据库备份程序 8.10. mysqlimport:数据导入程序 8.11. ...

    MySQL 5.1官方简体中文参考手册

    8.6. mysqlbinlog:用于处理二进制日志文件的实用工具 8.7. mysqlcheck:表维护和维修程序 8.8. mysqldump:数据库备份程序 8.9. mysqlhotcopy:数据库备份程序 8.10. mysqlimport:数据导入程序 8.11. mysqlshow-...

    MYSQL中文手册

    8.6. mysqlbinlog:用于处理二进制日志文件的实用工具 8.7. mysqlcheck:表维护和维修程序 8.8. mysqldump:数据库备份程序 8.9. mysqlhotcopy:数据库备份程序 8.10. mysqlimport:数据导入程序 8.11. ...

    MYSQL 完全备份、主从复制、级联复制、半同步小结

    1,启用二进制日志,并于数据库分离,单独存放 vim /etc/my.cnf 添加 log_bin=/data/bin/mysql-bin 创建/data/bin文件夹并授权 chown mysql.mysql /data/bin 2,完成备份数据库 mysqldump -A --single-...

    mysql官方中文参考手册

    8.6. mysqlbinlog:用于处理二进制日志文件的实用工具 8.7. mysqlcheck:表维护和维修程序 8.8. mysqldump:数据库备份程序 8.9. mysqlhotcopy:数据库备份程序 8.10. mysqlimport:数据导入程序 8.11. mysqlshow-...

    2017最新老男孩MySQL高级专业DBA实战课程全套【清晰不加密】,看完教程月入40万没毛病

    07-MySQL服务二进制日志的3种工作模式配置方法实战 第十部-老男孩MySQL常用引擎及优缺点-应用场景-调优详解(14节) 01-MySQL服务存储引擎介绍 02-MySQL服务存储引擎体系结构 03-MySQL服务MyISAM引擎介绍及磁盘文件...

    mysql5.1中文手册

    mysqlbinlog:用于处理二进制日志文件的实用工具 8.7. mysqlcheck:表维护和维修程序 8.8. mysqldump:数据库备份程序 8.9. mysqlhotcopy:数据库备份程序 8.10. mysqlimport:数据导入程序 8.11. ...

Global site tag (gtag.js) - Google Analytics