如何将sql文件导入mysql

直接使用source命令导入SQL文件是最可靠的。

在MySQL命令行上执行:source /path/to/yourfile.sql。

例如/var/backups/mydb_2 02 3 -1 0.sql。

首先确保用户具有CREATE TABLE权限。

导入后检查:Select COUNT() from my_table;
请勿使用。
顺序,很容易出错。

自己掂量一下。

如何快速将sql文件导入mysql数据库中

说实话,在过去的十年里,我在使用命令行将 SQL 文件导入 MySQL 时遇到过陷阱,也见过很多效率陷阱。
你说的步骤基本是正确的,但是有一些细节需要贴到板上。

去年我帮助邻近的团队改进了系统。
他们有一个旧的 8 G 数据库需要迁移。
他们使用 Navicat 拖放它直到午夜,但进度条卡在 3 5 % 不动。
我刚刚打开终端并使用命令行完成。
当时服务器是Win1 0环境。
需要切换到C盘根目录,输入“cd C:\Program Files\MySQL\MySQL Server 8 .0\bin”,回车后输入“mysql -u root -p database_name < D>等几分钟就完成了。
这个速度,说实话,终端比鼠标好太多了。

但是要注意一些特别容易踩到的雷区。
例如,我曾经帮助一个朋友导入数据,他的SQL文件路径包含不带引号的空格,这直接破坏了整个命令行。
还有一次是密码问题。
他使用默认的“root”密码,但终端提示“访问被拒绝”。
当时我就想,为什么密码是错误的呢?后来我发现我必须添加引号并输入“mysql -u root '-p[root_password]'database_name 当时我不明白为什么,后来查了手册才知道是报价问题。

如果您处理的是大文件,建议批量导入。
有一个客户的SQL文件有1 .5 G,直接导入完全被阻止。
我教他们用split命令将它们拆分成小文件,比如每1 00M一个文件,然后一个一个导入。
命令为“split -b 1 00M file.sql file_ --numeric-suffixes”。
导入时使用循环脚本依次运行,效率高很多。

要验证导入是否成功,除了检查终端是否报告错误之外,最好运行一个简单的 SQL 查询,例如“SELECT COUNT() FROM table_name”,看看数据量是否正确。
我的一个朋友遇到了这个问题。
终端显示正常,但一半数据丢失。
最后发现SQL文件中的一个临时表没有被删除。

但归根结底,命令行用多了就变成了肌肉记忆。
一开始你可能需要花很长时间敲击文档,但是一旦习惯了,它比在导航树中点击鼠标要快得多。
当我刚进入这个行业时,我的导师强调,如果你从事数据库工作,你的终端应该足够安静以便打字。
现在回想起来,这句话是千真万确的。

MySQL导入SQL文件的三种方法!

哦,让我告诉你一些我这样做的陷阱。
如今,MySQL 仍然要遇到。
说到导入SQL文件,我就讲讲我踩过的坑。

第一种方法是使用 Navicat。

2 01 4 年我在上海的时候,公司的数据库很小,只有我一个人负责。
一个客户给了我一个很大的SQL文件,有几百MB大小,里面有数据等等。
我直接打开Navicat,连接到服务器,哦,我创建了一个新的库,名为clientdata。
字符集是utf8 mb4 毕竟,客户的文件是这样的。
创建新数据库速度很快,只需点击三下五下五除二即可。

然后是导入。
我单击了 clientdata 数据库,右键单击并“运行 SQL 文件”。
弹出一个框,找到文件路径,然后单击“开始”。
那个时候服务器还是很慢。
等了将近十分钟,屏幕上的红圈一直在旋转。
最后提示成功,我以为就大功告成了。
结果第二天客户就打电话说数据不对,少了很多。
我检查了一下,哦,原来是我选择的字符集不对。
他这边是latin1 ,直接导入乱码,部分数据丢失。
这件事让我记了很久。
Navicat确实很方便,但是你要仔细看,不要盲目。

第二,使用Workbench。

后来2 01 7 年在深圳,跳槽到了一家更大的公司,环境复杂。
有一个项目需要导入一堆测试数据。
领导说用Workbench。
我打开 Workbench 并创建一个名为 testdb 的新库。
然后我想出了如何导入它。
我尝试了第一种方法,打开SQL脚本并单击“闪电”图标。
结果是“找不到数据库”。
我一拍头,忘记加use testdb;了。
这行代码一旦添加,就会自动去数据库中,不然就不知道放哪里了。
我尝试了第二个,“数据导入”功能,它看起来比 Navicat 更复杂。
我花了很长时间来研究各种选择。
最后,第一种方法是添加use语句,直接运行SQL脚本,速度快。

第三种是命令行。

2 01 2 年我还在北京,手头有两台服务器,一台使用命令行,另一台使用图形界面。
有一个库需要重新安装,数据需要转移。
图形界面的两个工具几乎让我抓狂,所以我最终只打开了命令行。
输入mysql -u root -p,填写密码,回车。
然后创建数据库newdb;,使用newdb;。
最关键的一步,source /path/to/your/file.sql;,这一行确实有效。
等待它运行完成,显示表格; 看一下,好吧。
这个方法是对性格的真正考验。
你得选择错误的字符集、权限不够、写错文件路径。
你必须自己照顾它。
但好处是可以直接在服务器上进行,不用跑来跑去传输文件。

总结一下。


Navicat适合新手,或者数据量不大,或者足够细心的人。
不要只看图片,要仔细看字符集和库名称。

Workbench功能很多,适合复杂的任务,但有时确实让人困惑。
不要忘记添加“使用”。

命令行,适合有经验的用户,或者直接在服务器上操作。
优点是简单,但陷阱也很多,要小心。

这十年来,三种方法我都尝试过,每种方法都有陷阱。
喜欢用就用吧,别像我当年那样,光是选择就浪费了好久的时间错误的字符集。