导入大型 MySQL 数据库的策略
PHPMyAdmin 导入
如果您正在阅读本文,那么 PHPMyAdmin 可能不是您大型 MySQL 数据库导入的选项。尽管如此,它总是值得一试,对吧?PHPMyAdmin 导入失败的最常见原因是超出导入限制。如果您在本地工作或拥有自己的服务器,您可以尝试更改通常在 MySQL 安装文件夹中的 my.ini 文件中找到的 MySQL ini 设置。如果您在 Windows 上使用 WAMP,则可以使用 MySQL > my.ini 下的 WAMP 控制面板访问该文件。请记住重新启动 WAMP,以便使用您的新设置。您可能希望在此处增加的设置包括:
max_allowed_packet
read_buffer_size
即使使用增强的 MySQL 导入设置,您仍然可能会发现由于 PHP 设置而导致导入超时。如果您有权访问 PHP.ini,则可以对最长执行时间和相关设置进行编辑。在 WAMP 中,通过 PHP > php.ini 访问 WAMP 控制面板下的 PHP.ini 文件。在尝试大型 MySQL 导入时,请考虑提高对以下设置的限制:
max_execution_time
max_input_time
memory_limit
使用 Big Dump 交错 MySQL 转储导入器
如果基本的 PHPMyAdmin 导入不起作用,您可能需要尝试使用 Ozerov.de 中的 Big Dump 脚本进行交错 MySQL 导入。这个有用的脚本所做的是在更小的块中运行您的导入,这正是成功导入大型 MySQL 转储经常需要的。可从http://www.ozerov.de/bigdump/免费下载。
使用 Big Dump 的过程相当简单:您基本上将 SQL 导入文件和 Big Dump 脚本放在服务器上,在 Big Dump 脚本中设置一些配置,然后运行该脚本。大转储处理其余的!
关于这个非常棒的选项的一个关键点是,它根本不适用于包含扩展插入的 MySQL 导出。因此,如果您可以选择阻止扩展插入,请尝试一下。否则,您将不得不使用另一种方法来导入您的大型 MySQL 文件。
使用 MySQL 控制台转到命令行
如果您正在运行 WAMP(即使您没有运行),也始终可以选择使用 MySQL 控制台来切入正题并导入大型 MySQL 数据库。在写这篇文章时,我正在以这种方式导入一个 4GB 的数据库。这实际上是我有时间花时间写作的原因,因为当你有一个 4GB 的 SQL 文件要导入时,即使是这种方法也需要时间!
一些开发人员(通常是我)被打开一个黑屏并在其中输入神秘的命令吓到了。但它可以解放,当涉及到 MySQL 数据库时,它通常是最好的选择。在 WAMP 中,我们从 WAMP 控制面板的 MySQL > MySQL 控制台访问 MySQL 控制台。现在让我们学习导入 MySQL 数据库所需的 2 个简单的 MySQL 控制台命令,命令行样式:
use `db_name`
use
后跟数据库名称的命令将告诉 MySQL 控制台您要使用哪个数据库。如果您已经设置了要导入的数据库,那么您首先发出use
命令。假设您的数据库名为my_great_database
. 在这种情况下,请在 MySQL 控制台中发出以下命令。请注意,命令必须以分号结尾。
mysql-> use my_great_database;
mysql-> source sql_import_file.sql
source
后跟 SQL 文件位置的命令会将 SQL 文件导入您之前使用该use
命令指定的数据库。您必须提供路径,因此如果您在本地服务器上使用 WAMP,首先将 SQL 文件放在容易获取的位置,例如 C:\sql\my_import.sql。此示例路径的完整命令为:
mysql-> source C:\sql\my_import.sql;
运行该命令后,应该开始导入 SQL 文件。在关闭 MySQL 控制台之前,让查询运行并允许导入完成。
MySQL 命令行的更多文档可以在这里找到:http: //dev.mysql.com/doc/refman/5.5/en/mysql.html。
另一种解决方案是使用MySQL Workbench。