`
qing_gee
  • 浏览: 121277 次
  • 性别: 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  
不管是主动想总结还是被迫总结,只要用心总结,还是有收获的。

相关推荐

    数据库MySQL二进制恢复

    在MySQL中,二进制日志(Binary Log)是一种记录数据库更改操作的日志文件,它记录了对数据进行的所有修改操作(如INSERT、UPDATE、DELETE等),而不包括那些查询数据的操作(如SELECT)。通过启用二进制日志功能,...

    mysqlbinlog二进制日志资料.pdf

    MySQL的二进制日志(Binary Log)是数据库系统中用于记录所有更改数据的SQL语句的重要工具,它对于数据库的备份、恢复以及故障排查至关重要。`mysqlbinlog`是MySQL提供的一款命令行实用程序,专门用于处理和解析二...

    mysql重做2进制日志.doc

    MySQL的二进制日志(Binary Log)是数据库系统中用于记录所有更改数据的SQL语句的一种机制,它对于数据恢复、主从复制等场景至关重要。重做二进制日志,即根据二进制日志中的内容重新执行SQL操作,以达到数据恢复的...

    MySQL数据库备份和恢复

    - **二进制日志(Binlog)备份**:MySQL的二进制日志记录了所有更改数据库的操作,可用于数据恢复和点恢复。 - **直接拷贝数据文件**:对于MyISAM表,可以直接复制表数据文件;而对于InnoDB表,可以通过拷贝数据文件...

    centos7二进制安装MySQL5.7.docx

    需要创建如 `/var/lib/mysql` 和 `/var/log/mysql` 这样的目录,以存储数据文件和日志,并用`chown`和`chmod`命令调整权限,确保MySQL用户和组对这些目录有适当的访问权限。 8. **创建mysql的配置文件**: 在 `/...

    mysql 日志备份恢复2

    首先,MySQL的日志系统包括错误日志、二进制日志、普通查询日志、慢查询日志和中继日志。错误日志记录了启动、关闭过程中的信息,运行中的错误,以及事件调度和从服务器启动的信息。启用错误日志可以通过设置`log_...

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

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

    MySQL备份(win).docx

    首先,确定发生错误的精确时间点,然后使用`mysqlbinlog`工具结合二进制日志文件和具体时间点,生成需要的SQL语句,再导入到数据库中。 总的来说,MySQL备份是数据库管理的重要组成部分,通过合理的备份策略和自动...

    实验报告六MYSQL备份与恢复.doc

    日志系统包括错误日志、二进制日志(binlog)、查询日志和慢查询日志。 1. 错误日志:`jcsys4-23.err`文件记录了MySQL服务器运行过程中的错误信息,帮助管理员识别和解决问题。 2. 二进制日志:通过设置`log-bin`...

    mysql数据库备份与恢复

    - **全量备份**:通常通过执行`mysqldump`命令生成SQL脚本或者直接导出二进制日志文件。在Java中,可以使用`Runtime.getRuntime().exec()`方法执行系统命令来调用`mysqldump`。例如,创建一个包含所有数据库的备份...

    mysql热备份工具文档

    8. 数据恢复:当需要从备份恢复时,先应用备份的二进制日志,然后使用`xtrabackup --prepare`命令来准备备份数据,最后通过MySQL的`mysqladmin`或`mysqldump`工具导入数据。 9. 注意事项:备份过程中应监控系统资源...

    mysql备份恢复代码实例.zip

    通过设置`--master-data`选项,mysqldump还可以在备份文件中包含二进制日志位置,这样在恢复后可以确保数据一致性。 在"mysql备份恢复代码实例"中,你可能还会发现如何使用binlog进行点恢复的代码。这涉及到定位到...

    MySQL数据库备份的简单知识

    这需要熟悉如何使用mysql命令行工具来导入mysqldump生成的SQL文件,以及如何处理和应用二进制日志。 总结来说,MySQL数据库备份是多方面的,涉及选择合适的备份策略、理解不同备份方法的优缺点,以及在恢复过程中的...

    mysql8备份-centos8.zip

    4. **二进制日志**: MySQL的二进制日志记录了所有改变数据库的数据更改事件,可用于增量备份和恢复。 在CentOS 8中,备份策略可能还包括系统级别的快照,例如使用LVM快照或Rsync,这样可以同时保护MySQL数据和系统...

    mysql数据库备份工具

    8. 复原功能:备份的目的在于数据恢复,这款工具可能包含一键恢复功能,将备份文件轻松导入到MySQL服务器,快速恢复数据。 9. 文件压缩:备份文件通常会被压缩成ZIP或RAR格式,节省存储空间,并提高传输效率。 10....

    Mysql数据备份与mysqldump增量备份.pdf

    增量备份的实现依赖于MySQL的二进制日志功能,它记录了所有改变数据库的事务。`mysqldump --incremental` 或 `--master-data` 参数可以在导出时包含二进制日志信息。 **恢复过程** 1. **直接拷贝恢复**:对于直接...

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

    本文主要探讨了MySQL的错误日志、二进制日志(BINLOG)、数据备份和数据恢复这四个关键知识点。 首先,错误日志是MySQL在遇到任何故障时的第一参考源,它记录了服务器启动、关闭以及运行过程中的错误信息。错误日志...

    MySql数据备份恢复

    3. **增量备份**:在全量备份基础上,可以利用`mysqldump`配合`--master-data`选项记录二进制日志位置,实现基于时间点的增量备份。但MySQL本身并不直接支持真正意义上的增量备份,需要结合其他工具如Percona ...

    mysql5.6-5.5主从备份

    MySQL主从备份是一种常见的数据冗余和高可用性解决方案,它允许数据在多个服务器之间同步,确保即使主服务器出现故障,从服务器也能接管并继续提供服务。在这个场景中,我们有两台服务器:A服务器作为主服务器运行...

Global site tag (gtag.js) - Google Analytics