mysql,数据库恢复

发布时间:2015-05-28 来源: mysql数据库误删恢复

第一篇:mysql,数据库恢复

1:开启 binlog 日志记录 修改 mysql 配置文件 mysql.ini,在[mysqld]节点下添加 复制代码代码如下: # log-bin log-bin = E:/log/logbin.log 路径中不要包含中文和空格。重启 mysql 服务。通过命令行停止和启动 mysql 服务 复制代码代码如下: c:\>net stop mysql; c:\>net start mysql; 进入命令行进入 mysql 并查看二进制日志是否已经启动 Sql 代码 复制代码代码如下: mysql>show variables like 'log_%'; 日志成功开启后,会在 E:/log/目录下创建 logbin.index 和 logbin.000001 两个文件。

logbin.000001 就是数据库的备份文件,以后就可以通过此文件对数据库进行恢复操作。

2:查看备份的二进制文件 Sql 代码 复制代码代码如下: c:\mysql\bin\>mysqlbinlog e:/log/logbin.000001 日后记录的操作多了, 命令行方式基本就用不上了。

可以使用将日志导出文件的方式来查看 日志内容 2.1 导出 Xml 代码 复制代码代码如下: c:\mysql\bin\>mysqlbinlog e:/log/logbin.000001 > e:/log/log.txt ">"

导入到文件中; ">>"

追加到文件中 如果有多个日志文件 Sql 代码 复制代码代码如下: c:\mysql\bin\> mysqlbinlog e:/log/logbin.000001 > e:/log/log.sql c:\mysql\bin\> mysqlbinlog e:/log/logbin.000002 >> e:/log/log.sq 2.2 按指定位置导出

Sql 代码 复制代码代码如下: c:\mysql\bin\>mysqlbinlog --start-position=185 --stop-position=338 e:/log/logbin.000001 > e:/log/log3.txt 2.3 按指定时间导出

Xml 代码 复制代码代码如下: c:\mysql\bin\>mysqlbinlog --start-datetime="2010-01-07 11:25:56" --stop-datetime="2010-01-07 13:23:50" e:/log/logbin.000001 > e:/log/log_by_date22.txt 3:从备份恢复数据库 3.1 恢复

Sql 代码 复制代码代码如下: c:\mysql\bin\>mysqlbinlog e:/log/logbin.000001 | mysql -u root -p 3.2 按指定位置恢复

Sql 代码 复制代码代码如下: c:\mysql\bin\>mysqlbinlog --start-position=185 --stop-position=338 e:/log/logbin.000001 | mysql -u root -p 3.3 按指定时间恢复

Xml 代码 复制代码代码如下: c:\mysql\bin\>mysqlbinlog --start-datetime="2010-01-07 11:25:56" --stop-datetime="2010-01-07 13:23:50" e:/log/logbin.000001 | mysql -u root -p 3.4 通过导出的脚本文件恢复 Sql 代码 复制代码代码如下: c:\mysql\bin\>mysql -e "source e:/log/log.sql" 4.其他常用操作 4.1 查看所有日志文件 Sql 代码 复制代码代码如下: mysql>show master logs; 4.2 当前使用的 binlog 文件 Sql 代码 复制代码代码如下: mysql>show binlog events \g; 4.3 产生一个新的 binlog 日志文件 Sql 代码 复制代码代码如下: mysql>flush logs; 4.4 删除所有二进制日志,并从新开始记录(注意:reset master 命令会删除所有的二进制 日志) Sql 代码 复制代码代码如下: mysql > flush logs; mysql > reset master; 4.5 快速备份数据到 sql 文件 Sql 代码 复制代码代码如下: c:\mysql\bin>mysqldump -u root -p --opt --quick interactive > e:/log/mysqldump.sql 为了方便查看,把从脚本恢复的命令在写一次 Sql 代码 复制代码代码如下: c:\mysql\bin\>mysql -e "source e:/log/mysqldump.sql"

第一篇:mysql,数据库恢复

MySQL 数据恢复过程 关于 mysql 数据库恢复站长们是否熟知呢?其就是从另一台机上把 MySQL 数据库的 mysql 文件夹拷贝到本地机上,目的是恢复本地机对数据的访问和操 作。专职优化、域名注册、网站空间、虚拟主机、服务器托管、vps 主机、服务 器租用的中国信息港来为你详细介绍! 经过如下几种情况的操作。

1. 在本地重装 MySQL(安装目录 D:\Program Files\MySQL\MySQL Server 5.0), 直接把 mysql 文件夹拷贝至 D:\Program Files\MySQL\MySQL Server 5.0\。结 果,失败:数据库连接错误。

2. 卸载后重装 MySQL,将 D:\Program Files\MySQL\MySQL Server 5.0\下的数 据备份,只把 mysql\data 文件夹全部内容拷贝到 D:\Program Files\MySQL\MySQL Server 5.0\data 下。结果,失败:数据库连接错误。将备 份的数据还完覆盖。结果,失败,还是连接不上数据库。

3. 卸载后重装 MySQL,将 mysql\data 文件夹里的 cf1,last 文件夹(这两个是 原来 MySQL 里的数据库)拷贝进 D:\Program Files\MySQL\MySQL Server 5.0\data。连接成功,在 Navicat for MySQL 里看到数据库 cf1 和 last,但是 不能访问,因为数据全为零。明白了原来 data 里以数据库命名的文件存储的是 数据库的表结构, 不是元数据。

下一步, data 文件夹里的 ibdata1 文件 把 (3.4G 大, 明显存储了元数据) 拷贝到 D:\Program Files\MySQL\MySQL Server 5.0\data 里,代替原来的 ibdata1 文件。重启电脑,打开 Navicat for MySQL,连接成功, 数据可以访问操作。

至此,操作终于成功。其实当初在那台机上把数据导出来,而不是现在直接把文 件夹 mysql 复制过来会更容易恢复。但那台机已经重装了系统,也就是说 MySQL 失效了。 中国信息港拥有全国领先的网络带宽资源,虚拟主机老品牌、全国 8 强。提供:虚拟主 机,域名空间,域名注册,香港空间,香港虚拟主机,免备案空间,美国空间等,重在优质, 信誉第一!虚拟主机,vps 主机,域名空间,域名注册,主机租用,网站空间,服务器租用,域名查 询,主机,国际域名,香港空间,实时开通。

第一篇:mysql,数据库恢复

Mysql 数据库表的修复 找到 mysql 的安装目录的 bin/myisamchk 工具 在命令行中输入

myisamchk -c -r ../data/tablename/posts.MYI 然后 myisamchk 工具会帮助你恢复数据表的索引。 当你试图修复一个被破坏的表的问题时, 有三种修复类型。

如果你得到一个错误信息指出一 个临时文件丌能建立, 删除信息所指出的文件并再试一次--这通常是上一次修复操作遗留下 来的。

这三种修复方法如下所示

% myisamchk --recover --quick /path/to/tblName % myisamchk --recover /path/to/tblName % myisamchk --safe-recover /path/to/tblName 第一种是最快的,用来修复最普通的问题;而最后一种是最慢的,用来修复一 其它方法所丌能修复的问题。 检查和修复 MySQL 数据文件 如果上面的方法无法修复一个被损坏的表,在你放弃之前,你还可以试试下面 两个技巧: 如果你怀疑表的索引文件(*.MYI)发生了丌可修复的错误,甚至是丢失了这个文件,你可以 使用数据文件(*.MYD)和数据格式文件(*.frm)重新生 成它。首先制作一个数据文件(tblName.MYD)的拷贝。重启你的 MySQL 服务 连接到这个服务上,使用下面的命令删除表的内容

mysql> DELETE FROM tblName; 在删除表的内容的同时,会建立一个新的索引文件。退出登录并重新关闭服务, 后用你刚才保存的数据文件(tblName.MYD)覆盖新的(空)数据文件。

最后,使用 myisamchk 执行标准的修复(上面的第二种方法),根据表的数据的内容和表的 格式文件重新生成索引数据。 如果你的表的格式文件(tblName.frm)丢失了或者是发生了丌可修复的错误,但是你清楚如 使用相应的 CREATE TABLE 语句来重新生成这张表,你可以重新生成一个新的.frm 文件并 和你的数据文件和索引文件(如果索引文件有问题,使用上面的方法重建作文一个新的)一起使用。

首先制作一个数据和索引文件的拷贝,然后删除原来的文件(删除数据目录下有关这个表的 所有记录)。 启动 MySQL 服务并使用当初的 CREATE TABLE 文件建立一个新的表。新的.frm 文件应该 可以正常工作了,但是最好你还是执行一下标准的修复(上面的第二种方法)。

例如 检查、优化、并修复所有的数据库用

# mysqlcheck -A -o -r -p 修复指定的数据库用 # mysqlcheck -A -o -r Database_NAME -p 即可

mysql,数据库恢复》出自:金链花美文网
链接地址:http://www.nongyeqq.com/content/tR3eai8p77zY0Hkr.html

网站地图 | 关于我们 | 联系我们 | 广告服务 | 免责声明 | 在线留言 | 友情链接 | RSS 订阅 | 热门搜索
版权所有 金链花美文网 www.nongyeqq.com

mysql,数据库恢复