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

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

database_name < file.sql

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

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


当前回答

对我有效的解决方案如下:

Use your_database_name;
SOURCE path_to_db_sql_file_on_your_local;

其他回答

通过终端导入数据库

导航到.sql文件所在的文件夹

然后运行以下命令:

mysql -u database_user_name -p database_name < sql_file_name.sql

它将要求输入密码。输入数据库密码。将数据导入数据库需要几秒钟的时间。

如果.sql文件包含CREATE database if not EXISTS db_name和USE db_name语句,则不需要在命令行上指定数据库的名称。

如果.sql文件中提到的数据库不存在,请确保您正在与具有创建数据库权限的用户进行连接。

要一次导入多个SQL文件,请使用以下命令:

# Unix-based solution
for i in *.sql ; do mysql -u root -pPassword DataBase < $i ; done

对于简单导入:

# Unix-based solution
mysql -u root -pPassword DataBase < data.sql

对于WAMP:

REM mysqlVersion - replace with your own version
C:\wamp\bin\mysql\mysqlVersion\bin\mysql.exe -u root -pPassword DataBase < data.sql

对于XAMPP:

C:\xampp\mysql\bin\mysql -u root -pPassword DataBase < data.sql

我认为值得一提的是,您还可以使用zcat加载gzip(压缩)文件,如下所示:

zcat database_file.sql.gz | mysql -u username -p -h localhost database_name

转到wamp或xampp目录实例cd d:/wamp/bin/mysql/mysql5.7.24/binmysql-u root-p DATABASENAME<路径数据库文件