如何使用命令行导入数据库?

如何使用命令行导入数据库?

我正在使用 Ubuntu 14.04。我想导入位于服务器上的数据库/var/www/backup.zip。我还使用 Putty 进行 SSH 访问。请注意,服务器上安装了 MySQL 和 phpMyadmin。

当我运行此命令时

mysql -u root -p spy < /var/www/backup.zip

什么也没发生。显示以 开头的换行符->

我现在应该怎么做?

在此处输入图片描述

答案1

我认为格式是:

mysql -u username -p database_name < /path/to/file.sql

从 mysql 内部:

mysql> use db_name;
mysql> source backup-file.sql;

答案2

主要问题是您尝试在 mysql 中运行 bash 命令。如果您在常规终端提示符下运行该命令,则命令的格式是正确的。

第二个问题是您有一个 zip 文件而不是 SQL 文件,因此您需要先将其解压缩。

如何将 sql.gz 文件加载到我的数据库?(在 Server Fault 上)解释了您需要的大部分内容。我在那里的回答也应该适用于这里,只需稍作修改:

unzip -p /var/www/backup.zip | mysql -u root -p mydb

unzip -p解压到管道,以便您可以将其导入数据库命令。确保 zip 文件仅包含一个 sql 文件。

mysql -u root -p mydb将提示您输入密码(-p不带值),然后尝试将文件数据导入到mydb- 更改mydb为您自己的数据库。您不应在命令行中指定密码,因为它会保留在您的命令历史记录中。

相关内容