当前位置:网站首页>Navicat运行sql文件导入数据不全或导入失败
Navicat运行sql文件导入数据不全或导入失败
2022-07-07 11:28:00 【荒-漠】
前言:
我们平时想把数据从一个数据库中导入另外一个数据库中的时候
一般都是把所需的数据表进行转储sql文件 然后再运行sql文件 导入新的数据库中
这么做 数据少的时候一般不会出现什么错
但是如果数据量比较大 表比较多 就会出现缺少数据表 或者缺少数据
解决问题办法:
查询网上资料得知 有以下几种办法可以去尝试解决
第一:
先从数据库的配置文件下手
找到服务器上的MYSQL安装目录下的my.ini文件 然后去修改 记得重启

查找max_allowed_packet属性
max_allowed_packet=50M
或者再改大一点都行
第二:
从navicat修改数据库存储大小 和第一个有点相似 我2个都改了
命令:
//查看当前max_allowed_packet的大小
show global variables like 'max_allowed_packet';//修改max_allowed_packet的大小
set global max_allowed_packet=1024*1024*50;改过后查询以下大小有没有改变 改变了就成功了
第三:
导入的数据库和导出得数据库编码和结构不同

修改数据库的表字符集同步
第四:
更改严格模式,执行下列sql后再导入sql文件;
SET sql_mode = '';
SET GLOBAL sql_mode = '';

注意:
当用"SET sql_mode=''"时,mysql清除的默认的模式信息,
但是这也有一个问题,那就mysql不会作入侵检测,错误提示,
这就要求程序员在进行sql操作的时候更加小心。可以将上面sql加入到sql文件中先执行
第五:
在我们导入数据的时候 把 "在每个运行中运行多个查询" 给对掉 这么会慢一些 但是数据不会冲突 不会让数据进行减少

第六:
这个方法有点玄学 可信度有待调查 可以尝试尝试大家
在数据库中选择运行sql文件 没有在表中选择 运行sql文件 会准确度高一些


第七:
使用命令行导入导出
一、window环境
A. 导出.sql
1. 导出整个数据库mysqldump -u 用户名 -p 数据库名 > 导出的文件名
mysqldump -u dbuser -p dbname > dbname.sql2. 导出一个表mysqldump -u 用户名 -p 数据库名 表名> 导出的文件名
mysqldump -u dbuser -p dbname users> dbname_users.sql3. 导出一个数据库结构mysqldump -u dbuser -p -d --add-drop-table dbname >d:/dbname_db.sql-d 没有数据 --add-drop-table 在每个create语句之前增加一个drop table
B. 导入.sql
常用source 命令
进入mysql数据库控制台,如mysql -u root -pmysql>use 数据库
然后使用source命令,后面参数为脚本文件(如这里用到的.sql)mysql>source d:/dbname.sql
导入数据到数据库
mysql -uroot -D数据库名导入数据到数据库中得某个表
mysql -uroot -D数据库名 表名
二、linux环境
A. 导出.sql
导出数据库用mysqldump命令(注意mysql的安装路径,即此命令的路径):
1、导出数据和表结构:
mysqldump -u 用户名 -p 参数(可选) 数据库名 >/home/sql/ 数据库名.sql
mysqldump -u root -p --default-character-set=utf8 db_name>/home/sql/fileName.sql敲回车后会提示输入密码
2、只导出表结构
mysqldump -u用户名 -p密码 -d 数据库名 > 数据库名.sql
/usr/local/mysql/bin/ mysqldump -uroot -p -d abc > abc.sql注:/usr/local/mysql/bin/ —> mysql的data目录
B. 导入.sql
1、首先建空数据库
mysql>create database abc;2、导入数据库
方法一:
(1)选择数据库
mysql>use abc;
(2)设置数据库编码
mysql>set names utf8;
(3)导入数据(注意sql文件的路径)
mysql>source /home/abc/abc.sql;
方法二:
mysql -u用户名 -p 参数(可选) 数据库名 < 数据库名.sql
mysql -uabc_f -p--default-character-set=utf8 abc < abc.sql第八:
没有用过 看到最新的navicat12带的功能

数据传输和数据同步 结构同步 打开界面看了一下 更加简单暴力
如果上面的都没有解决你的问题
可以尝试一种简单暴力的方法 如果要导入的数据不多
可以把sql文件直接打开然后到navicat里面直接 查询->新建查询 然后输入sql
看看到底哪个地方报错了 然后再对应去修改

当你的才华还撑不起你的野心时,就应该静下心来学习;当你的能力还驾驭不了你的目标时,就应该沉下心来历练。梦想不是浮躁,而是沉淀和积累。
边栏推荐
- Distributed transaction solution
- Why can basic data types call methods in JS
- 线程池拒绝策略最佳实践
- JNA学习笔记一:概念
- RecyclerView的数据刷新
- Write it down once Net a new energy system thread surge analysis
- JS slow motion animation principle teaching (super detail)
- php——laravel缓存cache
- 如何让electorn打开的新窗口在window任务栏上面
- Some principles of mongodb optimization
猜你喜欢

centso7 openssl 报错Verify return code: 20 (unable to get local issuer certificate)
![Scripy tutorial classic practice [New Concept English]](/img/bc/f1ef8b6de6bfb6afcdfb0d45541c72.png)
Scripy tutorial classic practice [New Concept English]

存储过程的介绍与基本使用

飞桨EasyDL实操范例:工业零件划痕自动识别

Error lnk2019: unresolved external symbol

MySQL master-slave replication

“新红旗杯”桌面应用创意大赛2022

leecode3. 无重复字符的最长子串

单片机学习笔记之点亮led 灯

单片机原理期末复习笔记
随机推荐
MongoDB命令汇总
Digital IC Design SPI
QQ medicine, Tencent ticket
将数学公式在el-table里面展示出来
OSI 七层模型
Test next summary
JNA learning notes 1: Concepts
Esp32 series column
Realbasicvsr test pictures and videos
[dark horse morning post] Huawei refutes rumors about "military master" Chen Chunhua; Hengchi 5 has a pre-sale price of 179000 yuan; Jay Chou's new album MV has played more than 100 million in 3 hours
Storage principle inside mongodb
clion mingw64中文乱码
mysql 局域网内访问不到的问题
MongoDB的导入导出、备份恢复总结
MongoDB 遇见 spark(进行整合)
Practical example of propeller easydl: automatic scratch recognition of industrial parts
LIS longest ascending subsequence problem (dynamic programming, greed + dichotomy)
Japanese government and enterprise employees got drunk and lost 460000 information USB flash drives. They publicly apologized and disclosed password rules
JNA学习笔记一:概念
如何让join跑得更快?