当前位置:首页 » 数据仓库 » mysql数据库怎么恢复数据库
扩展阅读
webinf下怎么引入js 2023-08-31 21:54:13
堡垒机怎么打开web 2023-08-31 21:54:11

mysql数据库怎么恢复数据库

发布时间: 2022-07-13 17:39:42

A. mysql数据库被删除了,怎么恢复吗

1
找个别的机器安装个同版本的mysql或从已安装同版本的其他机器上(非同版本的也可以试下):
拷贝
mysql/data/mysql
目录到你的mysql/data/
下吧
2
试着启动mysql服务,如果能启动了,理论上应该丢失的只有用户、授权等一些系统信息,不影响你的使用的数据;
如果不能启动,看错误日志,争取启动了。
3
赶紧把数据备份一份出来,重新把所有库(只是你后来创建的业务相关的库,不包括mysql库)都删了,重新导入一遍。理论上不这样也可以,但只是非生产重要的环境下。
4
重新做用户授权。

B. mysql删除数据库后怎么恢复

1.
使用php脚本删除数据库,php使用
mysql_query
函数来创建或者删除
mysql
数据库;
2.
使用
mysqladmin
删除数据库;
3.
使用
mysqladmin
删除数据库;
使用普通用户登陆mysql服务器,你可能需要特定的权限来创建或者删除
mysql
数据库。所以我们使用root用户登录,root用户拥有最高权限,可以使用
mysql
mysqladmin
命令来创建数据库。
在删除数据库过程中,务必要十分谨慎,因为在执行删除命令后,所有数据将会消失。
4.
使用php脚本删除数据库;
php使用
mysql_query
函数来创建或者删除
mysql
数据库。bool
mysql_query(
sql,
connection
);该函数有两个参数,在执行成功时返回
true,否则返回
false。

C. mysql数据库没用备份如何恢复

打开mysql的bin log功能:
对于mysql也是支持增量备份,但要打开mysql的bin log功能。
我们修改mysql的配置文件。linux是/etc/my.cnf,windows是mysql的安装目录/my.ini
我们在[mysqld]下面加上log-bin一行代码,如下面。

[mysqld]

log-bin=mysql-bin

复制代码
加完后重起mysql即可。

某客户更新数据的时候,误删了数据库的内容,因为数据库做了主从,但是没有做备份(备份很重要啊!)幸好开启了bin-log,之后只好把整个日志的记录拿回来本地进行恢复。

之后自己也做了一个简单的测试,对数据进行恢复,具体如下:
1、新建一个表
CREATE TABLE `lynn`.`sn_test` ( `name` VARCHAR( 10 ) CHARACTER SET utf8 COLLATE utf8_bin NOT NULL , `age` INT( 3 ) NOT NULL ) ENGINE = MYISAM;
2、插入多条数据
INSERT INTO `lynn`.`sn_test` (`name`, `age`) VALUES ('lynn1', '1');
INSERT INTO `lynn`.`sn_test` (`name`, `age`) VALUES ('lynn2', '2');
INSERT INTO `lynn`.`sn_test` (`name`, `age`) VALUES ('lynn3', '3');
INSERT INTO `lynn`.`sn_test` (`name`, `age`) VALUES ('lynn4', '4');
3、查看数据并删除
mysql> select * from sn_test;
+-------+-----+
| name | age |
+---------+---+
| lynn1 | 1 |
| lynn2 | 2 |
| lynn3 | 3 |
| lynn4 | 4 |
+---------+-----+
4 rows in set (0.00 sec)
mysql> delete from sn_test;
Query OK, 4 rows affected (0.00 sec)
mysql> select * from sn_test;
Empty set (0.00 sec)
4、mysqlbinlog恢复数据
mysqlbinlog mysql-bin.000006 > 1.sql
查看1.txt里面数据插入的纪录,把删除之前的数据进行恢复
mysqlbinlog mysql-bin.000006 --start-position=2471 --stop-position=2876 | mysql -uroot -p123
重新登录,查看数据,OK,已经成功恢复了
对于数据库操作,应该注意如下问题:
1、要常备份(全备,增量备份),出了问题可以最快恢复数据;
2、操作数据库前,要把需要操作的数据库或者表mp出来;
3、需要把bin-log打开,就算没有做上面的两步,也可以通过日志恢复数据

D. 怎么恢复mysql数据库怎么恢复数据

简单情况下:进入原来mysql安装路径下的data文件夹下,找到相应的库和ibdata1,进行,就可回复原来的数据。
复杂情况下:
从另一台机上把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失效了。

E. 怎么恢复MySQL数据库

xxx.frm
xxx.MYD
xxx.MYI
如果有以上三个文件,则你可以在mysql中新建一个数据库,它会生成同样的三个文件,
然后你用你的备份文件覆盖就OK
前提是版本一致

F. 怎么恢复mysql数据库

简单情况下:进入原来mysql安装路径下的data文件夹下,找到相应的库和ibdata1,进行,就可回复原来的数据。
复杂情况下:
从另一台机上把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失效了。

G. 如何修复MySQL数据库表

有两种方法,一种方法使用mysql的check table和repair table 的sql语句,另一种方法是使用MySQL提供的多个myisamchk, isamchk数据检测恢复工具。前者使用起来比较简便。推荐使用。
1. check table 和 repair table
登陆mysql 终端:
mysql -uxxxxx -p dbname
check table tabTest;
如果出现的结果说Status是OK,则不用修复,如果有Error,可以用:
repair table tabTest;
进行修复,修复之后可以在用check table命令来进行检查。在新版本的phpMyAdmin里面也可以使用check/repair的功能。
2. myisamchk, isamchk
其中myisamchk适用于MYISAM类型的数据表,而isamchk适用于ISAM类型的数据表。这两条命令的主要参数相同,一般新的系统都使用MYISAM作为缺省的数据表类型,这里以myisamchk为例子进行说明。当发现某个数据表出现问题时可以使用:
myisamchk tablename.MYI
进行检测,如果需要修复的话,可以使用:
myisamchk -of tablename.MYI
关于myisamchk的详细参数说明,可以参见它的使用帮助。需要注意的时在进行修改时必须确保MySQL服务器没有访问这个数据表,保险的情况下是最好在进行检测时把MySQL服务器Shutdown掉。
另外可以把下面的命令放在你的rc.local里面启动MySQL服务器前:
[ -x /tmp/mysql.sock ] && /pathtochk/myisamchk -of /DATA_DIR/*/*.MYI
其中的/tmp/mysql.sock是MySQL监听的Sock文件位置,对于使用RPM安装的用户应该是/var/lib/mysql/mysql.sock,对于使用源码安装则是/tmp/mysql.sock可以根据自己的实际情况进行变更,而pathtochk则是myisamchk所在的位置,DATA_DIR是你的MySQL数据库存放的位置。
需要注意的时,如果你打算把这条命令放在你的rc.local里面,必须确认在执行这条指令时MySQL服务器必须没有启动!检测修复所有数据库(表)

H. MYSQL数据库丢失了数据怎么恢复

数据库丢失了最好的恢复方法是从备份中还原文件,数据库的文件一般都会有备份。如果备份也损坏了,无法进行还原,那就需要使用数据恢复软件来恢复了。从网上找恢复软件,然后扫描一下,看是否可以搜索到需要的文件。

I. 不小心删掉了mysql数据库怎么办

mysql数据库不小心还原了需要按照以下步骤恢复。
1、先确认mysql有没有启用bin日志 ,就是看下mysql.ini(my.cnf)里的log-bin=mysql-bin, 可以 自定义一个目录和前缀名,比如/data/log/mylog这样。
2、然后在数据库文件存放的data目录就能看到mysql-bin.00000x这样的文件,这就是二进制日志了,可以导出成txt格式的,里面其实就是对数据库的各种操作sql语句。
3、导出txt文件:
e:\wamp\bin\mysql\mysql5.6.12\bin>mysqlbinlog
--database=testdatabase
e:\wamp\bin\mysql\mysql5.6.12\data\mysql-bin.000312
>
c:\\test1.txt
这是windows下的导出,linux也是类似的。
database=数据库名
从最早的日志还始还原
linux下可以很方便的 mysql-bin.000*
可以加参数开始时间和结束时间,就是你执行那条sql语句的时间
start-datetime="2014-12-04
11:25:56"
--stop-datetime="2014-12-04
13:23:50"

4、恢复数据:
e:\wamp\bin\mysql\mysql5.6.12\bin>mysqlbinlog
--database=yundongchao
e:\wamp\bin\mysql\mysql5.6.12\data\mysql-bin.000179
|
mysql
-u
root
-p
------------------------------------------------