本文目录一览:
- 1、如何修复MySQL数据库
- 2、如何修复MYSQL数据库因断电造成的数据损坏
- 3、mysql数据库被破坏,只剩下ibd文件时如何恢复
- 4、怎样修复已经损坏的SQL数据库?
- 5、怎么恢复mysql数据库怎么恢复数据
- 6、怎么恢复mysql数据库
如何修复MySQL数据库
简单情况下:进入原来mysql安装路径下的data文件夹下,找到相应的库和ibdata1,进行copy,就可回复原来的数据。
复杂情况下:
从另一台机上把MySQL数据库的mysql文件夹拷贝到本地机上,目的是恢复本地机对数据的访问和操作。经过如下几种情况的操作。
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失效了。
如何修复MYSQL数据库因断电造成的数据损坏
修复MYSQL数据库因断电造成的数据损坏
在使用MySQL数据库的时候,都碰到过因断电造成数据库损坏的情况,大家都知道,断电或非正常关机是导致MySQL数据库出现错误最常见的原因,如何恢复MySQL数据库是大家都非常头痛的问题。目前有方法可以帮助大家恢复损坏的MySQL数据库吗?
当用户出现断电造成的MySQL数据库丢失损坏时,如果能进入MySQL软件,但是提示错误信息,用户可以通过“系统维护”—“数据库压缩修复”,压缩下数据库(有些软件在“系统设置”—“系统维护”—“数据库备份\恢复”中),这种方法只适合一小部分的数据库故障修复,功能性并不高。
现在网络上有两种比较推荐使用的MySQL数据库恢复方法,一种方法使用MySQL(和PHP搭配之最佳组合)的check table和repair table 的sql语句,另一种方法是使用MySQL(和PHP搭配之最佳组合)提供的多个myisamchk, isamchk数据检测恢复工具。在很多用户看来,这两个方法都比较复杂,并不适合大多数的用户使用。另外,这两种方法并不能有效的恢复MySQL数据库,可能还会造成数据库被进一步损坏,造成大家无法挽回的损失。根据以上几个原因,这两种MySQL数据库恢复方法并不建议大家使用。
。
数据库被损坏分以下几种情况:
1、严重损坏
2、轻度损坏
3、有些表被损坏或有些表的部分记录被损坏
mysql数据库被破坏,只剩下ibd文件时如何恢复
在使用独立表空间的情况下,如果不慎使得innodb存储引擎的元数据文件ibdata损坏,我们还可以挽救宝贵的数据.因为在innodb使用独立表空间的情况下,ibdata文件会记录每个innodb表的id,只要使得ibd中的表id和ibdata文件中记录的表id相同,就能够打开表,读取到数据.
#创建表
CREATE TABLE `ibdtest` ( `id` int(11) NOT NULL AUTO_INCREMENT, `fid` int(11) NOT NULL COMMENT '表b中的id', `content` char(255) NOT NULL COMMENT '操作内容,系统生成', `mark` char(255) NOT NULL COMMENT '备注', PRIMARY KEY (`id`)) ENGINE=InnoDB DEFAULT CHARSET=utf8
#添加数据INSERT ibdtest (fid,content,mark) VALUES (1,'1','1'),(2,'2','2');SELECT * FROM ibdtest;
怎样修复已经损坏的SQL数据库?
1.停止SQL Server的服务,备份SQL Server安装目录下的\data子目录
下故障数据库的两个文件,一个数据文件hbposv6_branch_data.mdf,
一个hbposv6_branch_log.ldf(也有可能非此命名),同时查看磁盘
空间是否有足够的空间;
2.启动SQL Server服务(如已停止),创建一个新的数据库,命名为
原来数据库的名字。
3.停止SQL Server
4.把老数据库的MDF文件(hbposv6_branch_data.mdf)替换
新数据库的相应的MDF文件,
并把LDF文件(hbposv6_branch_log.ldg)删除。
5.重新启动SQL Server服务,然后运行如下命令:
Use Master
go
sp_configure 'allow updates', 1
reconfigure with override
go
begin tran
update sysdatabases set status = 32768 where name = 'hbposv6_branch'
--Verify one row is updated before committing
commit tran
go
6.停止SQL然后重新启动SQL Server服务,然后运行如下命令
(更换日志文件路径地址):
use master
go
DBCC TRACEON(3604)
DBCC REBUILD_LOG
('hbposv6_branch',
'c:\Program Files\Microsoft SQL Server\MSSQL\Data\hbposv6_branch_log.ldf')
--在这里,请输入你的数据库的路径
go
7.停止SQL然后重新启动SQL Server服务,然后运行:
use master
go
update sysdatabases set status = 8 where name = 'hbposv6_branch'
go
sp_configure 'allow updates', 0
reconfigure with override
go
8.运行dbcc checkdb(db_name) 检查数据库的完整性
9.修复数库
--请在查询分析器中执行下列语句.执行前断开其它
所有数据库连接,最好是断开网线
--如果不是该数据库名,请将数据库
--hbposv6_branch
--改为要修复的数据库
USE master
Go
--单用户模式
EXEC sp_dboption 'hbposv6_branch', 'single user', 'TRUE'
go
--数据库检查
DBCC CHECKDB ('hbposv6_branch')
Go
--如果返回结果出现了红色的提示文字,说明数据库中存在错误,需要修复
--数据库修复
DBCC CHECKDB ('hbposv6_branch','repair_rebuild')
Go
--再次数据库检查,如果返回结果中没有了红色的提示文字,
说明修复成功;
DBCC CHECKDB ('hbposv6_branch')
Go
--否则意味着还需要更高级别的修复;尝试将上面修复语句的
'repair_rebuild'换为'repair_allow_data_loss'再试,
之后再次检查数据库。
--如果还有错误未修复,请把这些信息以文字的方式发给我们
--退出前请一定要执行以下语句返回到多用户模式
EXEC sp_dboption 'hbposv6_branch', 'single user','FALSE'
go
注:都要把 dbname 替换成真实的数据库名字。
怎么恢复mysql数据库怎么恢复数据
简单情况下:进入原来mysql安装路径下的data文件夹下,找到相应的库和ibdata1,进行copy,就可回复原来的数据。
复杂情况下:
从另一台机上把MySQL数据库的mysql文件夹拷贝到本地机上,目的是恢复本地机对数据的访问和操作。经过如下几种情况的操作。
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失效了。
怎么恢复mysql数据库
mysql数据库恢复方法:
方法一:
命令恢复数据库:
mysql -u root –password=root密码 数据库名 备份文件.sql
方法二:
第一步:用管理员权限登录并进入后台管理界面,点“数据库-资料恢复”。
第二步:在数据恢复设置中选择“从本地文件”进行恢复,然后通过右边的“浏览”按钮找到之前保存下来的.sql文件。
第三步:点“提交”按钮后将出现询问“分卷数据成功导入数据库,需要自动导入本次其他的备份吗?”一般继续点“确定”按钮即可。之后的数据库文件就完全导入到当前网站了。这时出现再次要求输入管理员帐号的提示。访问网站地址时也会看到所有信息都恢复到备份数据库时的内容了。
小提示:
不管采取哪种方式备份和恢复数据库,一定要注意备份和恢复时使用的版本要相同,甚至是语言种类也要一致,否则会存在乱码的问题。