我有一个.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数据库用户-p[db_name]<数据库文件.sql
今天,数据库和表具有utf8排序规则是很常见的,而这个命令还不够。在导出的表中具有utf8排序规则,需要使用以下命令:
mysql -u database_user -p --default-character-set=utf8 [db_name] < database_file.sql
相应的导出可以使用
mysqldump -u database_user -p --default-character-set=utf8 [db_name] > database_file.sql
当然,这也适用于其他字符集,如何显示正确的符号可以在这里看到:
https://dev.mysql.com/doc/refman/5.7/en/show-collation.html
一条评论还提到,如果数据库从不存在,则必须首先创建一个空数据库。这在某些情况下可能是正确的,但取决于导出文件。如果导出的文件中已经包含创建数据库的命令,那么就不必在单独的步骤中创建数据库,这甚至会导致导入时出错。因此,在导入时,建议先查看该文件,以了解其中包含哪些命令;在导出时,建议注意设置,尤其是如果文件非常大且在编辑器中难以读取时。
下面列出并解释了该命令的更多参数:
https://dev.mysql.com/doc/refman/5.7/en/mysql-command-options.html
如果您使用其他数据库版本,请考虑搜索相应版本的手册。上述链接参考MySQL 5.7版。
编辑:同样的参数也适用于mysqldump。因此,虽然导出和导入的命令不同,但上述参数不同。尽管如此,手册中有一个专门的站点描述了mysqldump的选项:https://dev.mysql.com/doc/refman/5.7/en/mysqldump.html
其他回答
以下步骤有助于将file.sql上载到MySQL数据库。
步骤1:将file.sql.zip上载到任何目录并在那里解压缩注意:sudo apt-get install unzip:sudo apt-get-unzip文件.sql.zip步骤2:现在导航到该目录。示例:cd/var/www/html
步骤3:mysql-u用户名-p数据库名称<file.sql输入密码并等待上传完成。
打开MySQL命令行键入mysql bin目录的路径,然后按Enter键将SQL文件粘贴到mysql服务器的bin文件夹中。在MySQL中创建数据库。使用要导入SQL文件的特定数据库。键入source databasefilename.sql并输入SQL文件上载成功。
我一直遇到数据库没有创建的问题。
我是这样修复的:
mysql -u root -e "CREATE DATABASE db_name"
mysql db_name --force < import_script.sql
我们可以使用此命令从命令行导入SQL:
mysql -u username -p password db_name < file.sql
例如,如果用户名是root,密码是password。数据库名为bank,SQL文件为bank.SQL
mysql -u root -p password bank < bank.sql
请记住SQL文件的位置。如果SQL文件位于桌面文件夹/目录中,请转到桌面目录并输入如下命令:
cd ~/Desktop
mysql -u root -p password bank < bank.sql
如果您位于Project目录中,并且SQL文件位于Desktop目录中。如果您想从Project目录访问它,可以执行以下操作:
cd ~/Project
mysql -u root -p password bank < ~/Desktop/bank.sql
您可以轻松地使用这些步骤。
将SQL文件下载到“mysql/bin”文件夹中。使用CMD打开“mysql/bin”文件夹。如果不存在所需的数据库,则首先创建数据库。在CMD中键入此命令并运行:mysql-u<user>-p<password><dbname><file.sql“file.sql”是要插入到目标数据库中的sql文件。示例:如果您的“密码”是“1234”,“user”是“root”,“dbname”是“test”:mysql-uroot-p1234测试<file.sql如果您的“密码”为空&“user”为“root”&“dbname”为“test”mysql-u根测试<file.sql检查目标数据是否成功上传。
此方法可用于使用CMD中的SQL文件上载大数据。
确保在步骤4中,如果使用该密码,请将“-p”作为一个没有空格的单词插入。