我有一个.sql文件,其中包含phpMyAdmin的导出。我想使用命令行将其导入到其他服务器。
我安装了Windows Server 2008 R2。我将.sql文件放在C驱动器上,并尝试了以下命令
database_name < file.sql
它不起作用。我遇到语法错误。
我如何才能毫无问题地导入此文件?我需要先创建数据库吗?
我有一个.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
其他回答
关于导入巨大文件所需的时间:最重要的是,它需要更多的时间,因为MySQL的默认设置是autocommit=true。您必须在导入文件之前将其设置为关闭,然后检查导入是如何像宝石一样工作的。
您只需执行以下操作:
mysql> use db_name;
mysql> SET autocommit=0 ; source the_sql_file.sql ; COMMIT ;
有时定义的端口以及该数据库的服务器IP地址也很重要。。。
mysql -u user -p user -h <Server IP address> -P<port> (DBNAME) < DB.sql
如果.sql文件包含CREATE database if not EXISTS db_name和USE db_name语句,则不需要在命令行上指定数据库的名称。
如果.sql文件中提到的数据库不存在,请确保您正在与具有创建数据库权限的用户进行连接。
在Ubuntu中
mysql -u root -p
CREATE database dbname;
use dbname;
source /home/computername/Downloads/merchantapp.sql
exit;
在Windows中
下载SQL文件并将其保存在C:\xamp\mysql\bin中。
之后,使用C:\xamp\mysql\bin打开命令提示符:
C:\xampp\mysql\bin> mysql -u username -p database_name < file.sql
您可以轻松地使用这些步骤。
将SQL文件下载到“mysql/bin”文件夹中。使用CMD打开“mysql/bin”文件夹。如果不存在所需的数据库,则首先创建数据库。在CMD中键入此命令并运行:mysql-u<user>-p<password><dbname><file.sql“file.sql”是要插入到目标数据库中的sql文件。示例:如果您的“密码”是“1234”,“user”是“root”,“dbname”是“test”:mysql-uroot-p1234测试<file.sql如果您的“密码”为空&“user”为“root”&“dbname”为“test”mysql-u根测试<file.sql检查目标数据是否成功上传。
此方法可用于使用CMD中的SQL文件上载大数据。
确保在步骤4中,如果使用该密码,请将“-p”作为一个没有空格的单词插入。