(一)MySQL数据备份和恢复
1 MySQL数据库的备份机制,写了一个.bat文件,每天定时自动备份:
echo on
FOR /F "TOKENS=1* DELIMS= " %%A IN ('DATE/T') DO SET CDATE=%%B
FOR /F "TOKENS=1,2 eol=/ DELIMS=/ " %%A IN ('DATE/T') DO SET mm=%%B
FOR /F "TOKENS=1,2 DELIMS=/ eol=/" %%A IN ('echo %CDATE%') DO SET dd=%%B
FOR /F "TOKENS=2,3 DELIMS=/ " %%A IN ('echo %CDATE%') DO SET yyyy=%%B
SET date=%yyyy%%mm%%dd%
SET filename=dbname%date%.sql
mysqldump -uroot -proot --default-character-set=utf8 --hex-blob test > E:\db\%filename%
将该命令添加到任务计划即可。查看bat是否有效只要双击即可,前提是e盘下有db目录。
假如上面的命令无法备份,下面是最新的备份命令,我在本地测试是ok的:
@echo off
echo.
echo MySQL数据库备份
echo *****************************
echo.
echo 今天是 %date%
echo 时间是 %time%
echo.
echo *****************************
set "Ymd=%date:~,4%%date:~5,2%%date:~8,2%"
md "g:\dbbackup\%Ymd%"
"D:\Program Files (x86)\MySQL\MySQL Server 5.0\bin\mysqldump" --opt -Q -uroot -proot --default-character-set=utf8 test > "g:\dbbackup\%Ymd%\test_bak.sql"
echo.
echo MySQL数据库备份完成,请进行检查。。。
echo.
echo.
pause
假如需要将上述备份的数据进行恢复,可以先创建一个新数据库,然后执行命令
mysql -u root -p test2 < g:/dbbackup/20140216/test_bak.sql
即可恢复上述表数据
2 关于误操作和数据恢复,一定要有安全意识,MySQL数据的找回,一定要在配置bin-log,否则数据丢失将无法恢复:
在MySQL的my.ini(或my.cnf,视操作系统不同而不同)添加:
[mysqld]
log-bin=binlogname(名字随便取)
然后需要重启MySQL服务才能生效
可以通过命令“show binlog events;”查看配置是否成功
通过mysqlbinlog恢复MySQL数据的两种方法:
(1)时间date
通过cmd运行到binlog所在的目录,再录入:
mysqlbinlog --stop-date="2011-02-27 12:12:59" jbms_binlog.000001 | mysql -uroot -proot (回车)
恢复到2011-02-27 12:12:59之前的数据,如果是start-date,即从该时间点后的开始算起
(2)位置position:
先将binlog日志转换成txt:
mysqlbinlog --start-date="2011-02-27 13:10:12" --stop-date="2011-02-27 13:47:21" jbms_binlog.000002 > temp/002.txt
功能是将时间段内的日志文件转换成txt,注意binlog和temp文件夹是同一目录下。
查看生成的txt文件,获取编辑位置和时间等数据,然后通过命令:
mysqlbinlog --stop-position="98" jbms_binlog.000002 | mysql -uroot -proot
即可恢复位置为“98”处操作的数据,其中stop也可以换成start。
注意:如果通过drop table name;将表删除,要想恢复数据,必须建立一个表名、字段和数据类型相一致的空表,否则数据无法恢复,报表不存的错误。
(二)MySQL常用的命令和导入导出:
1、从cmd进入mysql。先进入到mysql的bin目录下(否则不能识别mysql命令),然后录入mysql -h locahost -u root -p(回车,不用“;”结束,因为没有进入mysql环境,直接回车即可),即可进入mysql环境,这是如果要执行比如 use test;和select version();时需要用“;”结束。
2、mysqldump备份。命令为“mysqldump -u root -p databasename>d:\\temp\\001.sql”,特别需要注意的是,该命令为mysqldump,在bin目录执行即可,不需要进入mysql环境,进入mysql环境后就是sql预语句了,会报错,更也不需要用“;”结束了。
3、mysql导入。如果数据已经存在,进入mysql环境,执行“drop database db;”删除数据库,然后执行“create database db;”创建db,再在bin下执行"mysql -u root -p db < d:\\temp\\db.sql"即可将数据导入。
分享到:
相关推荐
本文将详细介绍在遇到MySQL数据库误删除的情况下,如何通过备份文件和binlog文件进行数据恢复的操作流程。 #### 二、工作场景与背景 假设在某一典型的工作环境中,MySQL数据库被设置为每天晚上12点进行一次完全备份...
MySQL数据库中误操作删除数据的恢复问题是一个常见的挑战,尤其是在生产环境中。MySQL作为一个广泛使用的开源关系型数据库管理系统,其数据安全性和可靠性至关重要。当用户意外删除了重要的数据,如何有效地恢复这些...
以上知识点详细阐述了MySQL数据库备份与恢复的基本操作、使用工具、以及各操作步骤。这些知识点对于数据库管理、维护和数据安全具有重要意义。通过本次实验,学生可以熟练掌握数据库的备份与恢复技能,了解不同备份...
本文将详细介绍如何在MySQL误操作后进行数据恢复。 首先,确保MySQL的日志功能,即二进制日志(binlog)已经开启。二进制日志记录了所有对数据库的更改操作,是数据恢复的关键。可以通过`SHOW VARIABLES LIKE 'log_...
标题提到的"mysql数据库备份文件"正是针对这一需求而进行的操作,确保数据的安全和恢复能力。 描述中提到“丢失后可以直接下载到bin目录下使用”,这可能是指MySQL的`mysqldump`工具,它通常位于MySQL安装目录的bin...
本文将详细探讨MySQL数据库备份的相关知识,包括备份的重要性、常用备份方法及其优缺点、以及如何有效地管理和恢复备份数据。 #### 二、MySQL数据库备份的重要性 在实际应用中,数据库可能会面临多种风险,比如...
本文将详细介绍如何在MySQL数据库发生误删除后进行数据恢复。 首先,预防总是优于治疗,定期的数据库备份是防止数据丢失的基石。在本例中,假设我们的数据库每天晚上12:00进行一次全量备份。如果在某天早上9点,...
7. **恢复增量数据**:使用刚才导出的不包含 `DROP` 语句的 binlog SQL 文件,继续恢复全备时刻到误操作之间的增量数据。 在恢复过程中,应避免在恢复期间对数据库进行任何更新,以防止新的写入数据混淆恢复过程。...
在MySQL数据库管理中,有时可能会不小心执行了DELETE命令,导致数据丢失。面对这种情况,有多种方法可以帮助恢复误删除的数据。本文将重点介绍如何利用MySQL的二进制日志(binlog)以及my2sql工具来恢复数据。 首先,...
MySQL数据库备份恢复涉及到一系列的操作和技术,包括全量备份、增量备份、差异备份以及如何进行有效的数据恢复。 标题"数据库备份恢复"指的是在MySQL环境下对数据库进行数据保存和灾难恢复的过程。在MySQL中,数据...
MySQL数据库的binlog日志是数据安全的重要保障,它记录了所有的DDL(Data Definition Language,如CREATE、ALTER、DROP等)和DML(Data Manipulation Language,如INSERT、UPDATE、DELETE等)语句,但不包括SELECT...
binlog2sql是一款开源的MySQL binlog解析工具,它能够帮助我们解析binlog,生成误操作前后的SQL语句,从而实现快速的数据恢复。 要使用binlog2sql,首要条件是MySQL服务器已经开启了binlog,并配置了相关的参数,...
数据库系统原理及 MySQL 应用教程中,备份和恢复策略是非常重要的,因为数据库中的数据可能会由于各种原因而丢失或被破坏,例如计算机硬件故障、计算机软件故障、自然灾害、盗窃、病毒、人为误操作等。为了保证...
【实验五 数据库的备份与恢复1】 实验的目的是让学生在掌握了MySQL数据库...通过本实验,学生将深入理解数据库备份与恢复的重要性,掌握不同备份方法的优缺点,并学会在实际环境中实施这些策略,以确保数据的安全性。
总之,恢复MySQL数据库需要综合考虑多种因素,包括备份策略、日志利用、数据文件的健康状况以及可能需要的第三方工具。了解并掌握这些知识,可以帮助我们在面临数据库危机时迅速采取行动,最大限度地减少损失。
这个工具对于数据库管理员或者开发者来说非常实用,因为它允许他们轻松地保护和恢复重要的数据,防止因系统故障、误操作或其他原因导致的数据丢失。 在描述中提到的“附源码”,意味着这个小工具不仅提供可执行文件...
在MySQL数据库管理中,数据备份和恢复是至关重要的操作,特别是在面临系统崩溃、硬件故障或误操作时,能够确保数据的安全性和完整性。本练习聚焦于如何对名为"myschool"的数据库进行备份和恢复,这对于学校管理系统...
总之,恢复MySQL数据库需要谨慎操作,尤其是在涉及文件系统级别的操作时。始终确保有最新的数据备份,以防止不可预见的问题。如果在恢复过程中遇到困难,及时查阅MySQL官方文档或寻求专业支持。