mysql在linux命令行下导入txt文件

mysql在linux命令行下导入txt文件,第1张

mysql在linux命令行下导入txt文件

mysql导入txt的命令如下

如果在终端中通过

登陆的话,输入以上命令会报错:

ERROR 1148 (42000): The used command is not allowed with this MySQL version

大家不要被报错的表面翻译给误导了,这其实是个权限问题,解决方法如下

在通过终端输入时,加上一个参数--local-infile = 1 详细解释请自行百度。

用下面语句登陆后再进行导入,就成功了

mysqlimport方法导入文件:

其实无论是load data还是mysqlimport,导入是事务,如果不是则设置引擎支持事务。

如何解决大文件导入?当有十几甚至几十G文件需要导入时,因为导入中间可能会失败,如果一次性导入,导入失败会导致回滚,代价太高,从几十G文件中寻找问题也是很头疼的事情。因此,需要先将大文件拆成小文件,比如split命令,按2万行一个单位拆成小文件,以后缀编号区分,编写脚本进行自动导入。如果发生的错误,只需要从小文件中定位问题即可。然后重启导入脚本。

1.首先需要安装mysql

server

5.1和navicat

for

mysql。这个安装是很简单的,网上很多教程,和安装一般软件差不多。只有在安装mysql

server

5.1时,要注意选择字符编码为gb2312(中文)那个选项。

2.

使用navicat

for

mysql导入数据文件

a打开navicat

for

mysql,和localhost本地数据库连接,就可以看到刚才建立的数据库和表,

b可以导入本地的txt数据文件,注意保持格式正确,

c下面一步要注意一下,如果数据库中有中文数据,编码格式一定要选择是中文的gb2312,

d然后间隔符为空格(根据txt中的具体情况来定),

e并选择目标表,将每一列一一对应,即可导入。

方法一 进入命令行mysql –u用户名 –p密码 –D数据库<【sql脚本文件路径全名】,示例:mysql –uroot –p123456 -Dtest </home/zj/create_table.sql注意:如果在sql脚本文件中使用了use 数据库,则-D数据库选项可以忽略方法二 进入mysql的控制台后,使用source命令执行Mysql>source 【sql脚本文件的路径全名】 或 Mysql>\. 【sql脚本文件的路径全名】,示例:source /home/zj/create_table.sql


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/zaji/8408587.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-16
下一篇 2023-04-16

发表评论

登录后才能评论

评论列表(0条)

保存