使用XAMPP在命令行中导入mysql数据库

23

我有这个命令:

mysql -u #myusername -p #mypasswd MYBASE < c:\user\folderss\myscript.sql

但是我收到以下错误:

Error
unknow command '\U'
unknow command '\m'
unknow command '\D'
unknow command '\L'
17个回答

43

对于使用 Windows 操作系统的人,我能够通过在 cmd.exe 中输入以下命令将大型 mysqldump 文件导入到我的本地 XAMPP 安装中:

C:\xampp\mysql\bin>mysql -u {DB_USER} -p {DB_NAME} < path/to/file/ab.sql

另外,如果你需要的是 MySQL 导入操作方面的知识,我在另一个问题上写了一篇更详细的答案


使用最新版本的XAMPP,我不得不使用mysql.exe。 - O V
我使用上面的命令,替换自己的用户名、密码和文件名,然后得到以下输出:mysql Ver 15.1 Distrib 10.1.16-MariaDB, for Win32 (AMD64) Copyright (c) 2000, 2016, Oracle, MariaDB Corporation Ab and others.用法: mysql [OPTIONS] [database]默认选项按照以下顺序从给定的文件中读取: C:\Windows\my.ini C:\Windows\my.cnf C:\my.ini C:\my.cnf C:\xampp\mysql\my.ini C: \xampp\mysql\my.cnf C:\xampp\mysql\bin\my.ini C:\xampp\mysql\bin\my.cnf 以下组被读取:mysql client client-server client-mariadb - James
1
可以工作。只是澄清一下:这需要在Windows命令提示符中完成。在Git Bash提示符中对我无效。 - Ozh

26

进入xampp shell命令行并运行

mysql -h localhost -u username databasename < dump.sql

2
C:\xampp\mysql\bin\文件夹中执行上述命令,并将dump.sql文件放在同一文件夹中。对于需要很长时间的大型导入,建议您在导入过程中刷新phpmyadmin网站,以查看是否已创建表。 - Avatar

10

您可能还需要指定主机名。从您的陈述来看,似乎您正在运行 Windows。请尝试以下方法:

mysql -h localhost -u #myusername -p #mypasswd MYBASE
      < c:/user/folderss/myscript.sql

或者

mysql -h localhost -u #myusername -p #mypasswd MYBASE
       < "c:\user\folderss\myscript.sql"

好的,谢谢。我现在遇到了访问被拒绝的问题。我可以访问一些数据库,但无法访问通过phpmyadmin创建的数据库。我已经为用户设置了所有权限。 - Mamadou
我作为ODBC用户已连接,如何切换到root用户? - Mamadou
一旦您登录,就无法“切换到根目录”。没有像Unix中的“su”或“sudo”命令那样的东西。您需要立即以root身份登录:- mysql -u root -h localhost ... - Andreas Krueger

6
mysql -h localhost -u username databasename < dump.sql

它有效,请试试。 如果密码为空,则无需添加-p参数。


5
/opt/lampp/bin/./mysql -u 数据库用户名 -p 数据库名 < SQL文件路径.sql

4
请仅对问题添加新答案。这个回答已经在这个主题中多次发布,对它没有任何贡献。 - geisterfurz007
3
这实际上是该页面上第一个正确的 Linux 答案! - deep64blue
1
一个适用于在Linux操作系统中安装的xampp的好答案。 - Chinmay235

4

它有效:

mysql -u root -p db_name < "C:\folder_name\db_name.sql"

C:\ 仅为示例。


3

在Windows PC上复制数据库转储文件

路径为D:\xampp\mysql\bin

mysql -h localhost -u root Databasename <@data11.sql

3

这个由丹尼尔发布的命令非常好用。

C:\xampp\mysql\bin>mysql -u {DB_USER} -p {DB_NAME} < path/to/file/ab.sql

只需输入数据库用户名和数据库名称,不包含括号。

**注意:确保您的数据库文件位于htdocs文件夹内,否则会出现访问被拒绝的错误。


2
毫无疑问,它可以完成任务。
C:\xampp\mysql\bin>mysql -u {DB_USER} -p {DB_NAME} < path/to/file/ab.sql

有时您可能会发现"MySql服务器已经离线",这时您需要将 mysql/bin/my.ini 中的 max_allowed_packet = 64M 更改为 my.ini

1
在Windows中,将MySQL文件(例如example.sql)放置在C:\xampp\mysql\bin中。
打开XAMPP控制面板,并启动Shell。
cd c:\xampp\mysql\bin
mysql --default-character-set=utf8 -h localhost -u username databasename < example.sql

注意: 如果您打算使用UTF-8进行工作,并且希望避免特殊字符的编码问题,则可以使用--default-character-set=utf8

之后,从C:\xampp\mysql\bin中删除MySQL文件。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接