我有一个.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 -u database_user -p < database_file.sql
对于远程数据库服务器,请执行以下操作:
mysql -u database_user -p -h remote_server_url < database_file.sql
其他回答
转到MySQL所在的目录。
c:\mysql\bin\> mysql -u username -p password database_name <
filename.sql
此外,要转储所有数据库,请使用-all databases选项,并且不再需要指定数据库的名称。
mysqldump -u username -ppassword –all-databases > dump.sql
或者您可以使用一些GUI客户端(如SQLyog)来完成此操作。
类似于vladkras对如何在MySQL中使用命令行导入SQL文件的回答?。
我的主要区别:
数据库必须首先存在-p和密码之间没有空格
shell> mysql -u root -ppassword #note: no space between -p and password
mysql> CREATE DATABASE databasename;
mysql> using databasename;
mysql> source /path/to/backup.sql
我在MariaDB上运行Fedora 26。
作为参考,我只使用了默认的root+,没有密码。它不适用于所有以前的答案。
我创建了一个具有所有权限和密码的新用户。它奏效了。-没有空格的ppassword。
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;
导入数据库
转到驱动器:d:MySQL登录c: \xamp\mysql\bin\mysql-u root-p它将要求pwd。输入:压水堆选择数据库使用DbName;提供文件名\.DbName.sql