使用Navicat数据库软件导入sql文件时没有对应的类型怎么解决?

2024-09-02 17:20:28 浏览数 (1)

在之前的文章中,我写过在服务器部署MairaDB10.3数据库的记录,当时以为安装部署完成后就不需要我了,后来给了我一份PDF里面是要求,将备份好的数据库文件导入到对应的数据库里,但是导入的过程中出现了问题,所以记录下问题。

安装过程

以下可执行代码仅供参考,因为命令代码比较少,如图:

使用Navicat数据库软件导入sql文件时没有对应的类型怎么解决? 第1张使用Navicat数据库软件导入sql文件时没有对应的类型怎么解决? 第1张

命令代码如下,以此为创建数据库-创建数据库用户-给数据库用户赋权-刷新缓存权限。

进入数据库:

代码语言:javascript复制
mysql -uroot -p

然后输入root用户的密码以登录。

创建数据库

代码语言:javascript复制
CREATE DATABASE itlaoli character set utf8mb4 collate utf8mb4_general_ci;

命令创建了一个名为itlaoli的新数据库,并指定了字符集为utf8mb4,排序规则为utf8mb4_general_ci。utf8mb4字符集支持存储Unicode字符,包括表情符号等,而utf8mb4_general_ci是一种不区分大小写的排序规则,适用于大多数语言。

创建数据库用户

代码语言:javascript复制
CREATE USER 'adminsql'@'%' IDENTIFIED BY 'sA*dm1n&ql3';

命令创建了一个新的MySQL用户adminsql,该用户可以从任何主机(%)连接到数据库服务器,并使用密码sA*dm1n&ql3进行身份验证。这里的密码使用了特殊字符来增加安全性。

数据库用户赋权

代码语言:javascript复制
grant all privileges on itlaoli.* to 'adminsql'@'%' identified by 'sA*dm1n&ql3';

条命令授予了用户adminsql对数据库itlaoli中所有对象(由*表示)的所有权限。这意味着adminsql用户可以执行任何操作,包括创建表、插入数据、更新数据等。

刷新权限缓存

代码语言:javascript复制
flush privileges;

命令用于刷新MySQL服务器上的权限缓存,确保刚刚授予的权限立即生效。

当然,以上都是最初步的操作,如果是面板的话这些都免除了,直接新建即可,我要记录的也不是这些而是导入的时候出现了意外的情况,对于我而言,毕竟我很少操作数据库,更何况是数据库软件。好吧,完成之后我们继续操作导入数据库。

导入

使用 Navicat 导入“itlaoli.sql”文件至已创建的数据库用户及对应的数据库,但是当我打开数据库软件的时候我发现在导入的时候类型中居然没有(*.sql)文件,如图:

使用Navicat数据库软件导入sql文件时没有对应的类型怎么解决? 第2张使用Navicat数据库软件导入sql文件时没有对应的类型怎么解决? 第2张

我用软件的次数一只手都能数过来,所以我就懵逼了,于是乎百度了一下才知道,这个软件可以导出sql文件,但是不能导入,但是我们可以运行sql文件,类似导入。如图右键选择运行SQL文件:

使用Navicat数据库软件导入sql文件时没有对应的类型怎么解决? 第3张使用Navicat数据库软件导入sql文件时没有对应的类型怎么解决? 第3张

在弹出的界面里找到【文件】点击右侧【...】找到如果导入的sql文件,如图:

使用Navicat数据库软件导入sql文件时没有对应的类型怎么解决? 第4张使用Navicat数据库软件导入sql文件时没有对应的类型怎么解决? 第4张

点击开始之后就是等待就可以,时间嘛跟系统和数据库大小有关,待运行完成后就顺利导入完成,点击关闭即可,如图:

使用Navicat数据库软件导入sql文件时没有对应的类型怎么解决? 第5张使用Navicat数据库软件导入sql文件时没有对应的类型怎么解决? 第5张

刷新数据库即可看见数据了。

经验总结

这次数据库导入的经历让我学到了,原来不是能导出就可以顺利导入的,就算不能导入也可以使用其他方案来代替,而且事前做好准备,在进行数据迁移之前,详细了解源数据库和目标数据库的配置是非常重要的。还需要了解相应的权限管理,确保执行操作的用户具有足够的权限,以避免不必要的错误。尽可能的考虑到数据兼容性,在导入数据之前,检查并确保数据类型和格式的兼容性。最最重要的操作前做好备份。

0 人点赞