【问题标题】:where to save file when trying to load into database尝试加载到数据库时保存文件的位置
【发布时间】:2014-10-10 20:08:32
【问题描述】:

我正在做一些数据库方面的工作,我想尝试一下将文件内容加载到表中的能力。目前我正在为网站使用主机服务器,并使用 phpmyadmin 与 MySQL 进行交互。我的问题是,如果您不使用本地主机,您将要加载的文件保存在哪里?我读过的所有内容都涉及本地托管,但是如果我有一个保存在外部服务器上的文件怎么办?我想也许像LOAD DATA INFILE 'url to file' INTO TABLE [table name] 这样的东西会起作用,但我得到了一个错误。

我是否需要将其保存在本地计算机上,然后让它以某种方式从本地路径读取文件?我不确定这是否正常完成。

【问题讨论】:

  • mysql 无法处理 url。它不是一个网络客户端,它不会到达服务器“外部”下载东西。 load data 将只接受文件系统路径:运行 mysql 客户端的机器上的本地路径,或者不使用 load local 时的服务器端路径
  • @MarcB 好吧,明白了。谢谢。
  • 您是尝试通过 phpMyAdmin 还是使用您自己的 LOAD DATA INFILE 语句来执行此操作?

标签: mysql phpmyadmin


【解决方案1】:

选项 1

如果您对 MySQL 服务器计算机具有 SSH 访问权限,请通过 SSH 登录该计算机并

  • --local-infile=1启动mysql客户端

    mysql --local-infile=1 -u username -p yourdb

  • 将文件(假设它在您的当前目录中)加载到表中

    LOAD DATA LOCAL INFILE 'namelist.csv' INTO TABLE customers COLUMNS TERMINATED BY ',';

选项 2

如果您没有远程数据库服务器的 SSH 访问权限

  • 在本地机器 MySQL 服务器中创建数据库实例
  • 如选项 #1 所示加载数据
  • 使用mysqldump -u username -p yourdb importedtbl > tbldump.sql
  • 如果您的远程 Web 服务器有 phpMyAdmin 连接到您的远程数据库服务器,请使用它将表转储导入您的远程服务器。

【讨论】:

    猜你喜欢
    • 2017-04-15
    • 1970-01-01
    • 1970-01-01
    • 2012-01-22
    • 1970-01-01
    • 2013-05-19
    • 2016-01-14
    • 2021-02-03
    • 1970-01-01
    相关资源
    最近更新 更多