我有一个.sql文件,其中包含phpMyAdmin的导出。我想使用命令行将其导入到其他服务器。
我安装了Windows Server 2008 R2。我将.sql文件放在C驱动器上,并尝试了以下命令
database_name < file.sql
它不起作用。我遇到语法错误。
我如何才能毫无问题地导入此文件?我需要先创建数据库吗?
我有一个.sql文件,其中包含phpMyAdmin的导出。我想使用命令行将其导入到其他服务器。
我安装了Windows Server 2008 R2。我将.sql文件放在C驱动器上,并尝试了以下命令
database_name < file.sql
它不起作用。我遇到语法错误。
我如何才能毫无问题地导入此文件?我需要先创建数据库吗?
当前回答
如果您在Mac OS X上使用MAMP,这可能会有所帮助:
/applications/MAMP/library/bin/mysql -u MYSQL_USER -p DATABASE_NAME < path/to/database_sql/FILE.sql
MYSQL_USER默认为root。
其他回答
在MySQL中创建数据库。然后转到计算机目录C:\xamp\mysql\bin,在地址栏中写入cmd,然后按Enter键。解压缩SQL文件然后写:mysql-uroot-pdbname并按Enter键。写:source sql.file。类似于源C:\xamp\htdocs\amarbazarltd\st1159.sql多恩
我认为值得一提的是,您还可以使用zcat加载gzip(压缩)文件,如下所示:
zcat database_file.sql.gz | mysql -u username -p -h localhost database_name
有时定义的端口以及该数据库的服务器IP地址也很重要。。。
mysql -u user -p user -h <Server IP address> -P<port> (DBNAME) < DB.sql
Try:
mysql -u username -p database_name < file.sql
检查MySQL选项。
注意1:最好使用SQL文件file.SQL的完整路径。
注意2:在mysqldump中使用-R和--triggers来保留原始数据库的例程和触发器。默认情况下不会复制它们。
注意3如果MySQL不存在,并且导出的SQL不包含create database(使用--no create db或-n选项导出),则可能需要从MySQL创建(空)数据库,然后才能导入。
在命令行上提供凭据不是一个好主意。以上答案很好,但忽略了提及
mysql --defaults-extra-file=etc/myhost.cnf database_name < file.sql
其中etc/myhost.cnf是包含主机、用户和密码的文件,您可以避免在命令行中暴露密码。这是一个样本,
[client]
host=hostname.domainname
user=dbusername
password=dbpassword