【菜鸟开发,在使用Navicat工具时,遇到的问题】

项目场景:

在使用Navicat时遇到的问题:

  1. 用Navicat运行一个比较大的.sql文件时报错:[Err] 2006 - MySQL server has gone away
  2. Navicat运行sql文件出现 [ERR] 1273 - Unknown collation: ‘utf8mb4_0900_ai_ci‘ 错误原因
  3. Navicat提示Access violation at address “xxxxxxxxx” in module ‘navicat.exe’Read of address “xxxxxxxxx”

1. 用Navicat运行一个比较大的.sql文件时报错:[Err] 2006 - MySQL server has gone away

用Navicat 在本地运行一个比较大的 .sql 文件时报错::

[Err] 2006 - MySQL server has gone away

原因分析:

因为navica本身做了限制 所以导致报错。(可能)

解决方案:

工具–> 服务器监控–>mysql
在这里插入图片描述
出现下面页面:选择 变量 ,找到 max_allowed_packect ,修改它的值即可。
在这里插入图片描述

2. Navicat运行sql文件出现 [ERR] 1273 - Unknown collation: ‘utf8mb4_0900_ai_ci‘ 错误原因

报错信息:

[ERR] 1273 - Unknown collation: 'utf8mb4_0900_ai_ci'

原因分析

	生成转储文件的数据库版本为8.0.22,要导入sql文件的数据库版本为5.6.5,总之就是高版本导入到低版本,引起1273错误

解决方法

	打开sql文件,将文件中的所有
	utf8mb4_0900_ai_ci替换为utf8_general_ci
	utf8mb4替换为utf8
	保存后再次运行sql文件,运行成功

3. Navicat提示Access violation at address “xxxxxxxxx” in module ‘navicat.exe’Read of address “xxxxxxxxx”

打开Navicat无论点哪里就开始弹窗,提示错误
在这里插入图片描述

原因分析

可能是内存越界,需要重新注册windows的动态链接库。

解决方法

1、首先“开始”—“cmd”,在打开的dos窗口中运行 (采用这种方法,已解决)

for %1 in (%windir%\system32\*.dll)do regsvr32.exe /s %1

回车运行后,可能需要等待一两分钟,然后,重新在navicat连接数据库,这样就可以了。
在这里插入图片描述

拓展:system32是Windows 操作系统的系统文件夹,是操作系统的中枢。system32在计算机C盘Windows文件夹中,其中包含了大量的用于 Windows 的文件。 这里主要用于存储 DLL 文件, 控制面板小程序(.CPL),设备驱动 (.drv),帮助文件 (.hlp 和 .cnt),MS-DOS 工具 (.com),语言支持文件 (.nls),屏幕保护 (.scr),安装信息文件 (.inf)以及其它用于支持, 配置或操作的文件。

2、关闭Navicat for MySQL,重新打开 (尝试过,未解决)
原因:在navicat中表打开的太多了,内存不足而已,关掉一部分就好了
3、直接卸载了MySQL 重装,简单粗暴好使!!! (未尝试)
4、确认表字段字符集编码与字段类型、字段长度想匹配,我选择原来默认的latin1,结果存储varchar,长度为20。插入“王五”时出现内存越界。将所有字段类型为varchar字符集编码改为UTF-8.插入成功。 (未尝试)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值