我有一个.sql
文件,它是从phpMyAdmin
导出的。 我想使用命令行将其导入到另一个服务器中。
我安装了Windows Server 2008 R2。 我将.sql
文件放在C驱动器上,并尝试使用该命令
database_name < file.sql
它不起作用。 我会遇到语法错误。
尝试:
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 ;