我有一个.sql文件,其中包含phpMyAdmin的导出。我想使用命令行将其导入到其他服务器。
我安装了Windows Server 2008 R2。我将.sql文件放在C驱动器上,并尝试了以下命令
database_name < file.sql
它不起作用。我遇到语法错误。
我如何才能毫无问题地导入此文件?我需要先创建数据库吗?
我有一个.sql文件,其中包含phpMyAdmin的导出。我想使用命令行将其导入到其他服务器。
我安装了Windows Server 2008 R2。我将.sql文件放在C驱动器上,并尝试了以下命令
database_name < 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
其他回答
如果.sql文件包含CREATE database if not EXISTS db_name和USE db_name语句,则不需要在命令行上指定数据库的名称。
如果.sql文件中提到的数据库不存在,请确保您正在与具有创建数据库权限的用户进行连接。
转到MySQL可执行文件所在的目录-u表示用户名,-p表示提示输入密码:
C:\xampp\mysql\bin>mysql -u username -ppassword databasename < C:\file.sql
试试看:
cd C:\xampp\mysql\bin
mysql -u root -p database_name --force < C:\file.sql
要将数据库转储到SQL文件中,请使用以下命令。
mysqldump -u username -p database_name > database_name.sql
要将SQL文件导入数据库(确保与SQL文件位于同一目录中或提供文件的完整路径),请执行以下操作:
mysql -u username -p database_name < database_name.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