提问者:小点点

如何使用MySQL中的命令行导入SQL文件?


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

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

database_name < file.sql

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

  • 如何导入此文件而不出现问题?
  • 是否需要先创建数据库?

共3个答案

匿名用户

尝试:

mysql -u username -p database_name < file.sql

检查MySQL选项。

注意-1:最好使用SQL文件file.SQL的完整路径。

注意-2:使用-r--triggers保留原始数据库的例程和触发器。 默认情况下不复制它们。

注意-3如果mysql还不存在(空)数据库,并且导出的SQL不包含create database(使用--no-create-db-n选项导出),则必须先从mysql创建(空)数据库,然后才能导入数据库。

匿名用户

mysqldump的一个常见用途是对整个数据库进行备份:

shell> mysqldump db_name > backup-file.sql

您可以将转储文件加载回服务器,如下所示:

UNIX

shell> mysql db_name < backup-file.sql

在Windows命令提示符中相同:

mysql -p -u [user] [database] < backup-file.sql

PowerShell

C:\> cmd.exe /c "mysql -u root -p db_name < backup-file.sql"

MySQL命令行

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

匿名用户

关于导入巨大文件所花费的时间:最重要的是,这需要更多的时间,因为MySQL的默认设置是autocommit=true。 您必须在导入文件之前设置此选项,然后检查导入如何像宝石一样工作。

你只需要做以下几件事:

mysql> use db_name;

mysql> SET autocommit=0 ; source the_sql_file.sql ; COMMIT ;