详解MySQL恢复psc文件记录数为0的解决方案_Mysql

psc文件是用Navicat工具生成的备份文件,只能用Navicat工具进行恢复。

(一)错误出现步骤

1 用Navicat连接MySQL

2 新建一个数据库,名字随便取,比如mydb1,字符集选utf-8(因为备份文件用的就是utf-8)
3 选择mydb1数据库-->备份-->还原备份-->选择psc文件,开始还原
4 还原结束后,发现673个对象只恢复了551个,47366条记录恢复了0条。这说明这个备份文件是有问题的。

(二)解决方案

1 重新还原,在“高级”里面,取消默认勾选的“使用事务”,并勾选“遇到错误继续”
2 还原结束后,发现对象数和记录数都成功恢复
3 对mydb1数据库进行备份,这里得到的对象是665个,而原先的对象是673个。说明原先的备份文件里有8个对象是有问题的,无法恢复。至于这8个对象具体是表还是触发器或是索引,这里无从得知。

已处理记录数为47366个,与原先的记录数一致,说明整个库的记录数没有丢失。(这个可以说明假如缺失的对象为表的话,一定是空表。)

得到的备份文件名为160330103626.psc,这是根据备份的时间来命名的。备份路径为C:\Users\Administrator\Documents\Navicat\MySQL\servers\jebao\mydb1\。
4 建立一个新的数据库,名字随便取,比如mydb2,字符集仍为utf-8。然后用刚做的备份文件160330103626.psc进行数据还原。
注意“高级”选项里按默认选择就行。
5 备份结束后,发现对象数和记录数都完全恢复,说明新备份文件没有问题。

时间: 2024-11-03 18:44:03

详解MySQL恢复psc文件记录数为0的解决方案_Mysql的相关文章

详解MySQL存储过程参数有三种类型(in、out、inout)_Mysql

一.MySQL 存储过程参数(in) MySQL 存储过程 "in" 参数:跟 C 语言的函数参数的值传递类似, MySQL 存储过程内部可能会修改此参数,但对 in 类型参数的修改,对调用者(caller)来说是不可见的(not visible). 复制代码 代码如下: drop procedure if exists pr_param_in; create procedure pr_param_in ( in id int -- in 类型的 MySQL 存储过程参数 ) begi

详解MySQL查询时区分字符串中字母大小写的方法_Mysql

如果你在mysql有唯一约束的列上插入两行值'A'和'a',Mysql会认为它是相同的,而在oracle中就不会.就是mysql默认的字段值不区分大小写?这点是比较令人头痛的事.直接使用客户端用sql查询数据库. 发现的确是大小不敏感 . 通过查询资料发现需要设置collate(校对) . collate规则: *_bin: 表示的是binary case sensitive collation,也就是说是区分大小写的 *_cs: case sensitive collation,区分大小写 *

详解mysql索引总结----mysql索引类型以及创建_Mysql

关于MySQL索引的好处,如果正确合理设计并且使用索引的MySQL是一辆兰博基尼的话,那么没有设计和使用索引的MySQL就是一个人力三轮车.对于没有索引的表,单表查询可能几十万数据就是瓶颈,而通常大型网站单日就可能会产生几十万甚至几百万的数据,没有索引查询会变的非常缓慢.还是以WordPress来说,其多个数据表都会对经常被查询的字段添加索引,比如wp_comments表中针对5个字段设计了BTREE索引.  一个简单的对比测试 以我去年测试的数据作为一个简单示例,20多条数据源随机生成200万

详解MySQL limit查询优化的实际操作步骤

详解MySQL limit查询优化的实际操作步骤

详解MySQL的主从复制、读写分离、备份恢复_Mysql

一.MySQL主从复制 1.简介 我们为什么要用主从复制 主从复制目的 可以做数据库的实时备份保证数据的完整性 可做读写分离主服务器只管写从服务器只管读这样可以提升整体性能. 原理图 从上图可以看出同步是靠log文件同步读写完成的. 2.更改配置文件 两天机器都操作确保 server-id 要不同通常主ID要小于从ID.一定注意. # 3306和3307分别代表2台机器 # 打开log-bin,并使server-id不一样 #vim /data/3306/my.cnf log-bin = /da

详解MySQL数据备份之mysqldump使用方法_Mysql

mysqldump常用于MySQL数据库逻辑备份. 1.各种用法说明 A. 最简单的用法: mysqldump -uroot -pPassword [database name] > [dump file] 上述命令将指定数据库备份到某dump文件(转储文件)中,比如: mysqldump -uroot -p123 test > test.dump 生成的test.dump文件中包含建表语句(生成数据库结构哦)和插入数据的insert语句.  B. --opt 如果加上--opt参数则生成的d

详解Mysql自动备份与恢复的几种方法(图文教程)_Mysql

自动备份MySQL 5.0有三个方案:  备份方案一: 通过 mysqldump命令,直接生成一个完整的 .sql 文件  Step 1: 创建一个批处理 (说明:root 是mysql默认用户名, aaaaaa 是mysql密码, bugtracker 是数据库名) ------------mySql_backup.bat--------------------------------------------------------------------------------------

详解MySQL插入和查询数据的相关命令及语句使用_Mysql

插入数据MySQL 表中使用 INSERT INTO SQL语句来插入数据. 你可以通过 mysql> 命令提示窗口中向数据表中插入数据,或者通过PHP脚本来插入数据. 语法 以下为向MySQL数据表插入数据通用的 INSERT INTO SQL语法: INSERT INTO table_name ( field1, field2,...fieldN ) VALUES ( value1, value2,...valueN ); 如果数据是字符型,必须使用单引号或者双引号,如:"value&

详解MySql基本查询、连接查询、子查询、正则表达查询_Mysql

查询数据指从数据库中获取所需要的数据.查询数据是数据库操作中最常用,也是最重要的操作.用户可以根据自己对数据的需求,使用不同的查询方式.通过不同的查询方式,可以获得不同的数据.MySQL中是使用SELECT语句来查询数据的.在这一章中将讲解的内容包括. 1.查询语句的基本语法 2.在单表上查询数据 3.使用聚合函数查询数据 4.多表上联合查询 5.子查询 6.合并查询结果 7.为表和字段取别名 8.使用正则表达式查询 什么是查询? 怎么查的? 数据的准备如下: create table STUD