我有一个.sql文件,其中包含phpMyAdmin的导出。我想使用命令行将其导入到其他服务器。
我安装了Windows Server 2008 R2。我将.sql文件放在C驱动器上,并尝试了以下命令
database_name < file.sql
它不起作用。我遇到语法错误。
我如何才能毫无问题地导入此文件?我需要先创建数据库吗?
我有一个.sql文件,其中包含phpMyAdmin的导出。我想使用命令行将其导入到其他服务器。
我安装了Windows Server 2008 R2。我将.sql文件放在C驱动器上,并尝试了以下命令
database_name < file.sql
它不起作用。我遇到语法错误。
我如何才能毫无问题地导入此文件?我需要先创建数据库吗?
当前回答
我们可以使用此命令从命令行导入SQL:
mysql -u username -p password db_name < file.sql
例如,如果用户名是root,密码是password。数据库名为bank,SQL文件为bank.SQL
mysql -u root -p password bank < bank.sql
请记住SQL文件的位置。如果SQL文件位于桌面文件夹/目录中,请转到桌面目录并输入如下命令:
cd ~/Desktop
mysql -u root -p password bank < bank.sql
如果您位于Project目录中,并且SQL文件位于Desktop目录中。如果您想从Project目录访问它,可以执行以下操作:
cd ~/Project
mysql -u root -p password bank < ~/Desktop/bank.sql
其他回答
如果您已经拥有数据库,请使用以下命令导入转储或sql文件:
mysql -u username -p database_name < file.sql
如果不需要在MySQL中创建相关的数据库(空),那么第一次登录MySQL控制台时,可以在终端或cmd中运行以下命令
mysql -u userName -p;
并在提示时提供密码。
接下来,创建一个数据库并使用它:
mysql>create database yourDatabaseName;
mysql>use yourDatabaseName;
然后将sql或转储文件从导入数据库
mysql> source pathToYourSQLFile;
注意:如果您的终端不在转储文件或sql文件所在的位置,请使用上面的相对路径。
我一直遇到数据库没有创建的问题。
我是这样修复的:
mysql -u root -e "CREATE DATABASE db_name"
mysql db_name --force < import_script.sql
要导入数据库,请使用以下命令。
mysql> create new_database;
mysql> use new_database;
mysql> source (Here you need to import the path of the SQL file);
E.g.:
mysql> source E:/test/dump.sql;
即使在Windows上,也需要使用正斜杠(/),例如e:/test/dump.sql而不是e:\test\dump.sql
或由于转义而使用双反斜杠(\\),即e:\\test\\dump.sql
您可以使用:
mysql -u<user> -p<pass> <db> < db.sql
例子:
mysql -uroot -proot db < db.sql
转到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)来完成此操作。