我想在mysql中插入一个大文件(大约4G)。我使用了源代码命令,并尝试了几次。每次一开始一切都很顺利
查询确定,1710行受影响(0.27秒) 记录: 1710份副本:0警告:0
但是大约十分钟后,我得到了以下错误消息
"ERROR 2005 (HY000):带有垃圾字符的未知MySQL服务器主机‘-’(0)“。
上面写着:
没有连接。试图重新连接..。 错误2005 (HY000):未知MySQL服务器主机'rnrn‘(0) 错误: 无法连接到服务器
有一些垃圾字符,如:
错误2005 (HY000):未知MySQL服务器主机'2銆佹嫑鍟嗛?鍝佹姇鏀鹃>闈(2)惌寤鸿惀閿?椿鍔ㄤ竴浣撳寲娴佺鎼?缓rn‘(0) 错误:无法连接到服务器
有人能帮忙吗?
我试图更改mysql.ini中的参数
innodb_buffer_pool_size = 1024M
; Set .._log_file_size to 25 % of buffer pool size
innodb_log_file_size = 512M
innodb_log_buffer_size = 64M将号码更改为:
innodb_buffer_pool_size = 512M
; Set .._log_file_size to 25 % of buffer pool size
innodb_log_file_size = 256M
innodb_log_buffer_size = 32M或者将max_allowed_package从1M更改为1024M,但仍然无法工作。
发布于 2021-04-08 19:10:11
如果可能的话,应该将数据库转储分割成较小的块,然后逐个插入。该问题可能是由服务器施加的单个数据库连接的时间限制或不稳定连接造成的。
我不知道如何准确地分割文件,它取决于您的数据库结构。可以为一个文件中的所有表创建结构,并在其他文件中插入数据。如果存在外键,则应在insert上禁用外键,否则可能会添加尚未定义的依赖项的数据。
或者,您可以尝试将转储上载到服务器,并使用LOAD DATA INFILE或使用本地mysql从mysql导入转储。但这需要一个SSH连接到您的服务器-不是所有的提供者都允许它。
https://stackoverflow.com/questions/57335878
复制相似问题