mysql还原失败怎么办 mysql误操作 恢复

mysql用mysqldump命令备份之后不能正确还原

通用规律只有使用 --all-databases (-A) 会 ERROR 1356,那就看看他到底备份了什么东西。于是喊上同事一起 less 看了下,上下扫了两眼。突然发现:1. 备份 SQL 文件里 DROP 掉了 mysql.proc;2. 后CREATE了一个新的 mysql.proc;3. LOCK TABLES 和 UNLOCK TABLES 中间居然没有备份 CREATE ROUTINE 任何数据?这不就是相当于每次导入全备都给我一个没有任何 sys schema routines 的全新 mysql.proc 表?那这不就异常的尴尬?

成都创新互联拥有一支富有激情的企业网站制作团队,在互联网网站建设行业深耕十多年,专业且经验丰富。十多年网站优化营销经验,我们已为超过千家中小企业提供了成都网站制作、网站设计解决方案,按需制作,设计满意,售后服务无忧。所有客户皆提供一年免费网站维护!

---- Table structure for table `proc`--

---- Dumping data for table `proc`-

真相大白在官方文档【sys-schema-usage】官方文档明确的告诉我们不会备份 sys 库。但在使用 mysqldump 在执行 --all-databases 会清空 mysql.proc 导致 sys 无法正常使用;这是一个 BUG,并且只存在于 MySQL 5.7.x !

1、mysql_upgrade install or upgrade sys schema

这个方案适用于 sys 库已经因为 mysqldump 导入而损坏的情况下使用。

注意:mysql_upgrade 在修理 sys 库的同时,还修理 mysql 库和用户库表(期间加锁且速度一般),有极小可能会误伤;使用 mysql_upgrade 的时候要加上 --upgrade-system-tables,不然会扫描用户库表。

2、全备时同时备份 sys 库

这个方案适用于需要还原的数据库,sys 库也不太正常的情况下使用;在全备后额外再备份一份 sys 库用于修复。

注意:不适用于做主从时使用它。

3、使用 databases 全备

这个方案适用于所有场景的全备需求,100% 安全。

4、使用 mysql-sys 开源代码

如果你的数据库 sys 全部中招了,又是生产库。那你只能用这个方法;

mysql-sys:

中记录了 sys 库的创建语句将文件下载到本地,然后根据数据库版本,执行以下命令即可。

mySql 数据库还原 出现错误 请高手指点

SQL数据库修复的问题一定要用达思SQL数据库修复软件,是全球最棒的SQL数据库修复软件了。而且在数据库修复过程中遇到任何问题,还有数据库修复专家指导。此外,达思数据库修复软件还支持最新的SQL2008,最新更新的1.3版本支持碎片重组功能,即使数据库被覆盖了,也有比较好的解决方案。

找这个软件不难,在百度或谷歌搜索“达思数据库修复软件”即可!

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直接备份文件导致无法还原数据怎么办

我的经历是这样不行你可以利用mysqldump,把需要备份的数据库或者表备份出来,放到另外一台机器上,如果A机器当机了,可以直接导入这些备份的文件使用mysqlimport就行

mysql数据库备份成功,再还原却失败,什么原

mysqlmysqldump -u root -p dbcurr 20090219.sql; 上面这个是你写的,-p后面是密码还是数据库的名字,如果是数据库的名字,那么你没有指定备份到哪个目录里面自然报错 举例 mysqlmysqldump -uroot -p密码 dbcurr /root/20090219.sql;

mysql还原出错!!!急!!!!

sql 文件可能就没导入进去,把sql文件前几句拷贝过来看看,可能没有创建数据库的行,要想完全导入必须有创建数据库的行,一般mysqldump备份默认是没有的!


当前文章:mysql还原失败怎么办 mysql误操作 恢复
链接地址:http://myzitong.com/article/dodhegh.html