我有一个.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> 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
其他回答
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创建(空)数据库,然后才能导入。
以下命令在上的命令行(cmd)中对我有效WAMP上的Windows 7。
d:/wamp/bin/mysql/mysql5.6.17/bin/mysql.exe -u root -p db_name < database.sql
mysqldump的一个常见用法是备份整个数据库:
mysqldump db_name > backup-file.sql
您可以像这样将转储文件加载回服务器:
Unix
mysql db_name < backup-file.sql
在Windows命令提示符中相同:
mysql -p -u [user] [database] < backup-file.sql
PowerShell(PowerShell)
cmd.exe /c "mysql -u root -p db_name < backup-file.sql"
MySQL命令行
mysql> use db_name;
mysql> source backup-file.sql;
出于备份目的,创建BAT文件并使用任务调度器运行此BAT文件。它需要备份数据库;只需复制以下行并粘贴到记事本中,然后保存.bat文件,然后在系统上运行它。
@echo off
for /f "tokens=1" %%i in ('date /t') do set DATE_DOW=%%i
for /f "tokens=2" %%i in ('date /t') do set DATE_DAY=%%i
for /f %%i in ('echo %date_day:/=-%') do set DATE_DAY=%%i
for /f %%i in ('time /t') do set DATE_TIME=%%i
for /f %%i in ('echo %date_time::=-%') do set DATE_TIME=%%i
"C:\Program Files\MySQL\mysql server 5.5\bin\mysqldump" -u username -ppassword mysql>C:/%DATE_DAY%_%DATE_TIME%_database.sql
如果在窗口上使用XAMPP,首先必须手动创建数据库,然后运行以下命令:
cd C:\xampp\mysql\bin &&
mysql -u YOUR_USERNAME -p YOUR_DATABASE_NAME < PATH_TO_YOUR_SQL_FILE\YOUR_SQL_FILE.sql
然后输入密码