【windows】环境下mysql的数据备份以及恢复

【windows】环境下mysql的数据备份以及恢复

  无论是刚刚入行的‘猿友’还是入行很久的‘老猿’,我相信都会遇到过因为各种原因(很多情况下是自己误删了数据库)的操作.drop databases xxxxx

  而误删了线上项目的数据库是一件很恐怖的事情,那么如果大家遇到这种情况怎么办呢?首先不要着急(我感觉说了也白说-,-),先看一看自己的mysql是否开启了binlog日志功能,如果没有???game over !!!

  关于查看binlog日志有没有开启,请到自己的Mysql文件下找my.ini中的[mysqld],里面是否有log-bin=mysql-bin,有则表示开启了(没有开启的赶紧开启,不然都没后悔药吃!!!)

  为了方便新手阅读,在此我从数据备份开始讲。

  【数据备份】

  •   首先我们先建一个测试用的数据库drop_test
  •   并在drop_test中新建一张test表,表内容随意(反正是测试用的)
  • 数据内容如下

  

  

  在确保了binlog开启了之后,在mysql文件夹中的bin文件夹中有一个mysqldump.exe,这个就是常用的数据库备份工具之一,我们执行此程序,备份我们的drop_test数据库

  执行语句:mysqldump -uroot -p -B -F -R -x --master-data=2  drop_test  >  d:\backups\drop_test_bac.sql;这是完全备份,用于备份此语句执行时(到这时刻为止)的数据库数据

  

  输入密码后,即可在D:\backups目录下看到文件drop_test_bac.sql

  

  我们可以打开看看,发现里面存了数据库drop_test的表信息以及表内容

  假如我们在备份之后,又操作了数据库(往drop_test数据库中增加了内容)

  

  而这个时候,我们误删除了数据库drop_test(悲剧的执行了drop  database  drop_test),导致数据库drop_test没了!!!

  

  这个时候不要慌,首先我们先从备份的数据库文件中还原数据

  执行语句:mysql -uroot -p > d:\backups\drop_test_bac.sql

  

  执行结束后我们将发现drop_test数据库又回来了,并且里面的表还在,数据.....嗯?怎么只恢复了一部分数据?还有一部分呢?????

  我们在做备份数据库之后,又新增了一些数据,假如在新增之后我们删除了数据库,那么新增的那部分怎么办?不要急,首先我们打开drop_test_bac.sql,找到类似-- CHANGE MASTER TO MASTER_LOG_FILE=‘mysql-bin.000009‘, MASTER_LOG_POS=107;这句话,这句话告诉我们,将那些新增的数据保存在了mysql-bin.000009的第107节点里,接下来我们就要考虑从这里恢复我们的数据。

  这个mysql-bin.000009在我们的mysql文件夹中的data文件夹里(我的是phpstudy环境,默认在这里),我们先拷贝到d:\backups文件夹里

  

  通过mysqlbinlog命令将mysql-bin.000009二进制文件转成sql文件(刚开始我的mysql的bin文件夹里没有mysqlbinlog工具,我是到网上下了一个,如果没有的同学可以问我要,也可以自己网上找)

  执行语句:mysqlbinlog -d drop_test d:\backups\mysql-bin.000009 > d:\backups\009bac_bin.sql

  

  执行结束后我们在d:\backups文件夹里会生成009bac_bin.sql文件

  

  将此文件里的drop操作删除(不然恢复了又直接删除了-,-)

  接下来就是恢复此文件数据了

  执行语句:mysql -uroot -p > d:\backups\009bac_bin.sql

  数据恢复完成!!!

  

PS:第一次发微博,有些地方写得不好的地方欢迎大家指出!!!

原文地址:https://www.cnblogs.com/x-gentleman/p/9571697.html

时间: 2024-10-11 13:43:42

【windows】环境下mysql的数据备份以及恢复的相关文章

Windows环境下Mysql如何快速导入或恢复表为innodb的数据

注: 一.这个是对Innodb的数据恢复.MyISAM不需要这么麻烦,只要数据文件存在直接复制过去就可以. 二.该方法只适用于 1:想要恢复或者导入表的ibd文件和frm文件 2:你不仅需有ibd和frm文件还需有ib_logfile0 ib_logfile1 ibdata1 这三个原文件 3:确保你的innodb_file_per_table是开启的,可以通过在控制台中执行 show variables like '%per_table%'; 查看是否开启 第一步:找到mysql的安装目录在m

windows环境下mysql主从配置

原文:windows环境下mysql主从配置 mysql主从配置. 相关理论知识可以百度一下,这里就不多说了,直接说如何配置. 一.环境介绍及说明 主库所在的操作系统:win7 主库的版本:mysql-5.6.24-winx64.zip 主库的ip地址:127.0.0.1 主库的端口:3306 从库所在的操作系统:win7 从库的版本:mysql-5.6.38-winx64.zip 从库的ip地址:127.0.0.1 从库的端口:3307 下载地址:https://www.mysql.com/d

mysql大数据备份及恢复(一)

Mysql大数据备份和恢复一 MySQL备份一般采取全库备份.日志备份:MySQL出现故障后可以使用全备份和日志备份将数据恢复到最后一个二进制日志备份前的任意位置或时间:mysql的二进制日志记录着该数据库的所有增删改的操作日志还包括了这些操作的执行时间 Binlog的用途:主从同步.恢复数据库 使用binlog工具备份 查看binlog是否开启,因为默认是关闭的 从上图可知off为关闭状态,一般logbin为只读,在/etc/my.cnf下开启 重启数据库 重启后在目录下查看是否生成bin日志

windows环境下mysql的解压安装以及备份和还原

系统环境为server2012 1.下载mysql解压版,解压安装包到指定目录 2.在以上目录中,复制一份my-default.ini文件,重命名为my.ini,进行如下修改(按照需要): [mysqld] # 服务端的编码方式 character_set_server=utf8 # These are commonly set, remove the # and set as required. #数据文件存放目录 basedir = C:\Program Files\mysql #数据文件存

Mysql大数据备份及恢复

<p>[引自攀岩人生的博客]MySQL备份一般采取全库备份.日志备份;MySQL出现故障后可以使用全备份和日志备份将数据恢复到最后一个二进制日志备份前的任意位置或时间;mysql的二进制日志记录着该数据库的所有增删改的操作日志还包括了这些操作的执行时间</p> Binlog的用途:主从同步.恢复数据库 使用binlog工具备份 查看binlog是否开启,因为默认是关闭的 从上图可知off为关闭状态,一般logbin为只读,在/etc/my.cnf下开启 重启数据库 重启后在目录下查

MySQL数据库数据备份和恢复详解(上)

本文讨论 MySQL 的备份和恢复机制,以及如何维护数据表,包括最主要的两种表类型:MyISAM和Innodb,文中设计的 MySQL 版本为 5.0.22. 目前 MySQL 支持的免费备份工具有:mysqldump.mysqlhotcopy,还可以用 SQL 语法进行备份:BACKUP TABLE 或者 SELECT INTO OUTFILE,又或者备份二进制日志(binlog),还可以是直接拷贝数据文件和相关的配置文件.MyISAM 表是保存成文件的形式,因此相对比较容易备份,上面提到的几

zbb20180619 mysql windows环境下MySQL重启的命令行说明

windows+R  弹出运行框   在运行框中输入cmd  + 回车  进入系统的dos窗口 .启动mysql:输入 net start mysql; .停止mysql:输入 net stop mysql; windows下不能直接重启(restart),只能先停止,再启动. 这个只是说本地装了mysql的情况下.或者远程连接到mysql服务器,然后在远程机器上操作此命令. mysql中出现?乱码情况 检查项目中数据流走向是不是一直保持utf-8(具体看你自己设置的统一编码格式),一般出错是在

windows环境下MySQL mysql-5.7.17-winx64 (社区服务版,community server)安装教程

根据网上查询的资料显示,MySQ在版本5.7开始根目录下没有dada目录,需要额外的"初始化数据库"的操作自动生成data目录. 1.    下载地址: https://cdn.mysql.com//Downloads/MySQL-5.7/mysql-5.7.17-winx64.zip, 下载完成后解压到你想要的放置的目录下,我直接放在了D盘根目录下.之后将文件内的\bin目录加入环境变量Path中: 2.    在MySQL目录下新建一个my.ini文件,或者直接修改my-defau

windows环境下MySQL重启的命令行说明

ctrl+r 弹出运行框,输入cmd,然后再控制太输入命令: 1.点击“开始”->“运行”(快捷键Win+R). 2.停止:输入 net stop mysql 3.启动:输入 net start mysql windows下不能直接重启(restart),只能先停止,再启动. 这个只是说本地装了mysql的情况下.或者远程连接到mysql服务器,然后在远程机器上操作此命令