【问题标题】:Run mysql commands on wordpress在 wordpress 上运行 mysql 命令
【发布时间】:2017-11-30 20:06:40
【问题描述】:

我有一个脚本文件 (.sql),其中包含近 20k 条插入语句。 从 csv 文件转换而来的 sql 文件。有一个选项“加载数据文件”,但它被托管公司禁用,所以我选择上传一个 .sql 文件。据我所知,加载数据 infile 不适用于 sql 文件。所以我需要在 wordpress 上像下面的命令一样工作。

mysql < yourfile.sql

但还有另一个问题。客户没有与我共享数据库信息,所以我只有一个 wordpress 编辑器页面和 $wpdb 对象。我的主要目标是使用给定的 csv 文件更新表格。 数据库是 MariaDB 的某个版本。

【问题讨论】:

  • 有什么原因你不能只打开文件并在 PHP 循环中执行 SQL 吗?
  • 我遇到了一些性能问题。因为它是一个共享主机,并且没有多少源分配给 wp 应用程序,所以上传至少 20k 数据可能会崩溃或其他问题。

标签: php mysql wordpress mariadb


【解决方案1】:

使用wp-config.php 文件中定义的PHP 常量来访问数据库。要导入表格,您可以使用 PHP 文件中的exec 命令:

exec('mysql -u '.DB_USER.' -p'.DB_PASSWORD.' '.DB_NAME.' table_name < path/to/table_dump.sql;');

table_name 更改为您的表名。如果没有table_name 参数,将为DB_NAME 中的所有表导入数据(如果table_dump.sql 包含其他表的命令)。

如果表不为空,则必须对表或数据库进行备份,以防导入后需要恢复表。

【讨论】:

  • 希望可行,我听说shared hosting 他们通常不允许高管
  • 嗯?我在问你...尝试一个简单的 exec 来查看,例如我的一个 godaddy 帐户不允许 shell_exec
  • 这不是问题:) 好的,那么您可以使用Adminer 脚本进行导入。
猜你喜欢
  • 2016-05-09
  • 2013-11-30
  • 2017-11-16
  • 2018-04-07
  • 1970-01-01
  • 2010-11-06
  • 2013-10-01
  • 2017-12-27
  • 2019-06-29
相关资源
最近更新 更多