MySQL/PHPMyAdmin - 使用 512MB RAM 导入 15,000 行

Posted

技术标签:

【中文标题】MySQL/PHPMyAdmin - 使用 512MB RAM 导入 15,000 行【英文标题】:MySQL/PHPMyAdmin - Importing 15,000 rows with 512MB of RAM 【发布时间】:2018-05-19 22:31:42 【问题描述】:

我正在尝试将 15,000 行数据导入我的 mysql 数据库。我确切地知道我将如何正常执行此操作,但我有一个限制。 512MB 的 RAM ......最有效的方法是什么? MySQL有什么方法可以自动以较慢的速度导入,这样它就不会因为内存不足而崩溃?另外,请注意我使用的是 phpMyAdmin。谢谢!

【问题讨论】:

RAM 在这里真的很重要吗?我认为插入将是逐行的,并且您不需要太多的 RAM。你试过了吗? 【参考方案1】:

每行有多大?如果每行1k(已经很大),15000行只有15M,我认为这不会是一个问题。如果你真的很担心,每次只插入一行,不要使用批量插入。

【讨论】:

每一行都有一个 19 个字符的 VARCHAR,所以我会试试这个【参考方案2】:

我猜你是在 Digital Ocean 上使用 VPS 吗?如果是这样,那么您可以创建一个交换文件: https://www.digitalocean.com/community/tutorials/how-to-add-swap-space-on-ubuntu-16-04

或四处寻找如何为您的 os/vps 创建交换文件。

希望对您有所帮助。干杯

【讨论】:

我想我应该提一下,如果您没有 ssh 访问权限,那么可能是这样的:rusiczki.net/2007/01/24/sql-dump-file-splitter 或者您可能会发现您确实具有 ssh 访问权限并创建了交换文件,然后使用 mysql 命令导入可能会更好: mysql -h localhost -u yourusername -p yourschemaname 是的,我正在使用 DO,但在您在原始帖子中链接的那个页面上,有一个关于硬件退化的警告......:/ 看起来他们真的希望你升级到 10 美元的实例。很长一段时间以来,我一直在许多 DO $5 实例上使用交换文件而没有出现问题。 10 的 swappiness 设置适用于像您这样的罕见情况 - 很短的一段时间。例如,没有它我无法完成安装某些节点包。然而,这是我第一次听说这个警告。感谢您指出。但是,就个人而言,我只会使用交换文件并确保您经常备份。这是一个 5 美元的实例,所以我猜你没有做任何太关键的事情:)

以上是关于MySQL/PHPMyAdmin - 使用 512MB RAM 导入 15,000 行的主要内容,如果未能解决你的问题,请参考以下文章

使用 MySQL (phpmyadmin) 了解主键和关系数据库

如何使用 Docker-Compose 文件运行 Phpmyadmin、Mysql 和 Apache Tomcat?

XAMPP上的php / mySQL:phpMyAdmin和mysql_connect的密码有什么不同?

Node.js 无法连接 MySQL、PHPMyAdmin

MySQL PhpMyAdmin - 无法识别的关键字 CONCAT

Wamp MySQL PhpMyAdmin 远程访问配置问题