我有一个.sql文件,其中包含phpMyAdmin的导出。我想使用命令行将其导入到其他服务器。

我安装了Windows Server 2008 R2。我将.sql文件放在C驱动器上,并尝试了以下命令

database_name < file.sql

它不起作用。我遇到语法错误。

我如何才能毫无问题地导入此文件?我需要先创建数据库吗?


当前回答

在命令行上提供凭据不是一个好主意。以上答案很好,但忽略了提及

mysql --defaults-extra-file=etc/myhost.cnf database_name < file.sql

其中etc/myhost.cnf是包含主机、用户和密码的文件,您可以避免在命令行中暴露密码。这是一个样本,

[client]
host=hostname.domainname
user=dbusername
password=dbpassword

其他回答

对于Windows操作系统,可以使用以下命令从SQL转储导入数据。

C: \Program Files\MySQL\MySQL Server 5.7\bin>MySQL-u<>-p<>DBName<filelocation\query.sql

其中-u是用户名,-p是MySQL密码。然后输入密码并等待数据导入。

在命令行上提供凭据不是一个好主意。以上答案很好,但忽略了提及

mysql --defaults-extra-file=etc/myhost.cnf database_name < file.sql

其中etc/myhost.cnf是包含主机、用户和密码的文件,您可以避免在命令行中暴露密码。这是一个样本,

[client]
host=hostname.domainname
user=dbusername
password=dbpassword

转到MySQL所在的目录。

 c:\mysql\bin\> mysql -u username -p password database_name <
 filename.sql

此外,要转储所有数据库,请使用-all databases选项,并且不再需要指定数据库的名称。

mysqldump -u username -ppassword –all-databases > dump.sql

或者您可以使用一些GUI客户端(如SQLyog)来完成此操作。

要将数据库转储到SQL文件中,请使用以下命令。

mysqldump -u username -p database_name > database_name.sql

要将SQL文件导入数据库(确保与SQL文件位于同一目录中或提供文件的完整路径),请执行以下操作:

mysql -u username -p database_name < database_name.sql

您可以尝试此查询。

导出:

mysqldump -u username –-password=your_password database_name > file.sql

导入:

mysql -u username –-password=your_password database_name < file.sql

以及以下链接的详细信息:

https://chartio.com/resources/tutorials/importing-from-and-exporting-to-files-using-the-mysql-command-line/