【问题标题】:How to fix the error that I get using MySQL LOAD INFILE?如何修复使用 MySQL LOAD INFILE 时出现的错误?
【发布时间】:2011-01-05 11:46:42
【问题描述】:

我有一个具有以下结构的产品表

如果不存在`products`,则创建表( `id` int(50) NOT NULL AUTO_INCREMENT, `productname` varchar(255) NOT NULL, `description` 文本不为空, `merchanturl` 文本不为空, `imageurl` 文本不为空, `price` varchar(10) NOT NULL, `original` varchar(10) NOT NULL, `currency` varchar(12) NOT NULL, `extrafields` 文本不为空, `feedid` varchar(25) NOT NULL, `category` varchar(255) NOT NULL, `商人` varchar(255) NOT NULL, 主键(`id`), FULLTEXT KEY `productname` (`productname`), FULLTEXT KEY `description` (`description`) ) 引擎=MyISAM;

我使用mysql LOAD INFILE 命令将分隔的数据文件导入到这个表中。它现在有400万条记录。当我使用LOAD INFILE 导入更多数据时,出现以下错误:

ERROR 2002 (HY000): 无法通过套接字连接到本地 MySQL 服务器 '/var/run/mysqld/mysqld.sock' (2)

之后我无法访问产品表。
如何提高表的性能?请注意,某些数据文件的大小超过 100MB。我还有 400 万个条目需要 导入到表中。

请建议避免这些问题的方法。

谢谢, 斯里

【问题讨论】:

  • 你能连接到mysql服务器还是在加载文件的过程中收到ERROR 2002?
  • 有时它发生在加载文件的中间。之后,我无法在该表上运行查询。我已经使用 myisamchk 修复表以访问它

标签: sql mysql load-data-infile


【解决方案1】:

尝试使用 TCP/IP 而不是套接字连接到 mysql 服务器。 Socket 仅适用于类 unix 操作系统。

【讨论】:

  • 这是一个 Linux 服务器,我正在使用 shell 脚本中的 LOAD INFILE 查询
猜你喜欢
  • 1970-01-01
  • 2018-09-12
  • 2019-06-14
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-04-30
相关资源
最近更新 更多