简单情况下:进入原来mysql安装路径下的data文件夹下,找到相应的库和ibdata1,进行copy,就可回复原来的数据。
复杂情况下:
从另一台机上把MySQL数据库的mysql文件夹拷贝到本地机上,目的是恢复本地机对数据的访问和 *** 作。经过如下几种情况的 *** 作。
1
在本地重装MySQL(安装目录D:\Program
Files\MySQL\MySQL
Server
50),直接把mysql文件夹拷贝至D:\Program
Files\MySQL\MySQL
Server
50\。结果,失败:数据库连接错误。
2
卸载后重装MySQL,将D:\Program
Files\MySQL\MySQL
Server
50\下的数据备份,只把mysql\data文件夹全部内容拷贝到D:\Program
Files\MySQL\MySQL
Server
50\data下。结果,失败:数据库连接错误。将备份的数据还完覆盖。结果,失败,还是连接不上数据库。
3
卸载后重装MySQL,将mysql\data文件夹里的cf1,last文件夹(这两个是原来MySQL里的数据库)拷贝进D:\Program
Files\MySQL\MySQL
Server
50\data。连接成功,在Navicat
for
MySQL里看到数据库cf1和last,但是不能访问,因为数据全为零。明白了原来data里以数据库命名的文件存储的是数据库的表结构,不是元数据。下一步,把data文件夹里的ibdata1文件(34G大,明显存储了元数据)拷贝到D:\Program
Files\MySQL\MySQL
Server
50\data里,代替原来的ibdata1文件。重启电脑,打开Navicat
for
MySQL,连接成功,数据可以访问 *** 作。
至此, *** 作终于成功。其实当初在那台机上把数据导出来,而不是现在直接把文件夹mysql复制过来会更容易恢复。但那台机已经重装了系统,也就是说MySQL失效了。
1开启二进制日志
在mysqld的配置节点下添加如下配置
log-bin="E:/Mysql57BinLog/binlog"(windows下的路径,linux下自行修改路径)
expire_logs_days=10
max_binlog_size=100M
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。
创建临时数据库,把备份导入进去进行 恢复单独的数据库 ,
mysqlbinlog 有一个 --databases 参数可以指定解析出指定db相关的sql ,你可以更加这个sql来恢复数据。
能不能建立多个二进制日志文件,使每个数据库对应自己的二进制日志文件?
mysql 下 无此功能,mysqlbinlog 记录的是整个mysql 实例的变化记录,不能针对单独的db 记录日志。
希望可以帮到您,谢谢!
不同的数据库有不同的恢复方式。
Oracle 11g之后有闪存回归机制,在一定的时间内可以从闪存中恢复数据。
MySQL数据库则在开启了binlog日志的情况下,可以通过binlog日志恢复被删除的数据。
mysql binlog没有开启数据恢复 mysql 不小心误删了一个数据表的数据,通过delete,没有开启binlog,如何才可以恢复数据。MYI MYD文件还是原大校 SQL code 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 MariaDB [(none)]> show varia
以上就是关于怎么恢复mysql数据库怎么恢复数据全部的内容,包括:怎么恢复mysql数据库怎么恢复数据、如何通过Mysql的二进制日志恢复数据库数据、mysql删除数据库后怎么恢复等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)