如何从终端导入MySQL数据库?


373

如何从终端导入带有mysql的数据库?

我找不到确切的语法。

Answers:


761

假设您使用的是Linux或Windows控制台:

提示输入密码:

mysql -u <username> -p <databasename> < <filename.sql>

直接输入密码(不安全):

mysql -u <username> -p<PlainPassword> <databasename> < <filename.sql>

例:

mysql -u root -p wp_users < wp_users.sql

mysql -u root -pPassword123 wp_users < wp_users.sql

也可以看看:

4.5.1.5。从文本文件执行SQL语句


注意:如果您在Windows上,则必须cd在执行命令之前将CMD中的MySQL / bin目录(更改目录)。


139
+1,除了您不应该将密码作为CLI参数传递。而是只需指定-p选项并在提示后手动输入即可。
圣沃兰2010年

13
如果要通过shell输入-p和密码之间没有空格。
Kethryweryn 2013年

8
mysql -u用户名-h主机名-ppassword数据库名<filename.sql用于终端的远程主机
Shaik Rilwan 2014年

8
如果您已经在mysql命令提示符(mysql>)中,则只需键入source full_path_of_file(注意:导入前通过USE DATABASE_NAME命令选择数据库)。
Ankit Sharma 2014年

3
@Pekka웃,如果使用source,则可以看到参考消息(“受影响的行”)和错误消息。但是,使用您的解决方案,我们如何使用来查看消息< filename.sql
和平者

141

Windows的首选方式:

  1. 打开控制台并启动交互式MySQL模式

  2. use <name_of_your_database>;

  3. source <path_of_your_.sql>


2
我们为什么不需要一个; 在文件名之后?
纳比尔·汗

6
@NabeelKhan 大多数 SQL语句;在该语句的末尾都需要一个,但也有一些例外,包括USESOURCE
西蒙·伊斯特

1
我想知道这样做的速度是否比通过管道传输文件快(就像在接受的答案中一样)。我的怀疑是肯定的
西蒙·伊斯特

这比20分钟内通过HeidiSQL ... 3GB导入快得多!
kmdsax

好奇。当我删除;source命令已成功执行。之前不会。
Nikos

33

mysql -u <USERNAME> -p <DB NAME> < <dump file path>

-u -用户名

-p -提示输入密码

例如。 mysql -u root -p mydb < /home/db_backup.sql

您也可以提供-p开头的密码,但是出于安全原因,建议不要这样做。密码将被掩盖在命令本身上。


2
这是我正在寻找的答案。“ <”这是我留下的标志。
Pravinraj Venkatachalam

如果mydb不存在,那么当我们启动mysqldump命令时如何动态创建它?
अक्षयपरूळेकर




6

当分为以下名称的文件时,我通常使用此命令加载SQL数据:000-tableA.sql,001-tableB.sql,002-tableC.sql。

for anyvar in *.sql; do <path to your bin>/mysql -u<username> -p<password>  <database name> < $anyvar; done

在OSX Shell上运作良好。


5

如何从命令行加载

说明:

  1. 首先创建一个数据库或使用现有的数据库。就我而言,我正在使用现有数据库

  2. 通过给出<name of database> = ClassicModels我的情况并使用运算符来<给出数据库的路径来加载数据库database = sakila-data.sql

  3. 通过运行显示表,您可以看到表列表。

注意:在我的情况下,出现错误1062,因为我试图再次加载相同的内容。


5
mysql -u username -ppassword dbname < /path/file-name.sql

mysql -u root -proot product < /home/myPC/Downloads/tbl_product.sql

从终端使用


5

下面的命令正在ubuntu 16.04上运行,我不确定它是否在其他Linux平台上运行。

导出SQL文件:

$ mysqldump -u [user_name] -p [database_name] < [database_name.sql]  

示例:mysqldump -u root -p max_development> max_development.sql

导入SQL文件:

$ mysqldump -u [user_name] -p [database_name] > [file_name.sql]

Example: mysqldump -u root -p max_production < max_development.sql

注意SQL文件应该存在于同一目录


5

然后打开终端

 mysql -u root -p

 eg:- mysql -u shabeer -p

之后,创建数据库

 mysql> create database "Name";

 eg:- create database INVESTOR;

然后选择该新数据库“投资者”

 mysql> USE INVESTOR;

从计算机中选择sql文件的路径

 mysql> source /home/shabeer/Desktop/new_file.sql;

然后按Enter键,然后等待一段时间(如果全部执行完毕),

 mysql> exit

在此处输入图片说明


4
  1. 打开MySQL命令行客户端,然后输入密码

  2. 更改为要用于将.sql文件数据导入到的数据库。通过键入以下内容:

    USE your_database_name
  3. 现在找到您要执行的.sql文件。
    如果该文件位于本地主要C:驱动器目录中,并且.sql脚本文件名为currentSqlTable.sql,则应键入以下内容:

    \. C:\currentSqlTable.sql

    然后按Enter执行SQL脚本文件。


7
什么是图1/2/3?
glglgl

4

经过一段时间的努力后,我在https://tommcfarlin.com/importing-a-large-database/中找到了相关信息

  1. 连接到Mysql(让我们使用root作为用户名和密码):

    mysql -uroot -proot
  2. 连接到数据库(假设它称为emptyDatabase(您应该获得确认消息):

    connect emptyDatabase

3导入源代码,可以说该文件名为mySource.sql,并且位于名为myUser的用户的配置文件下的名为mySoureDb的文件夹中:

source /Users/myUser/mySourceDB/mySource.sql

3

如果您是从mysql网站使用sakila-db,则在Linux平台上非常简单,只需执行以下步骤,下载sakila-db的zip文件后,将其解压缩即可。现在您将有两个文件,一个是sakila-schema.sql,另一个是sakila-data.sql


  1. 打开终端
  2. 输入命令mysql -u root -p <sakila-schema.sql
  3. 输入命令mysql -u root -p <sakila-data.sql
  4. 现在输入命令mysql -u root -p并输入密码,现在您已经使用默认数据库进入mysql系统。
  5. 要使用sakila数据库,请使用以下命令
  6. 要查看sakila-db中的,请使用 show table命令

请注意,提取的文件位于主目录中


2

在Ubuntu中,从MySQL monitor开始,您已经使用了以下语法:

mysql> use <dbname> -> USE语句告诉MySQL dbname用作后续语句的默认数据库

mysql> source <file-path>

例如

mysql> use phonebook;

mysql> source /tmp/phonebook.sql;

重要提示:请确保sql文件位于mysql 可以访问的目录中,例如/ tmp


1

在终端上运行命令之前,必须确保在终端上安装了MySQL。

您可以使用以下命令进行安装:

sudo apt-get update
sudo apt-get install mysql-server

Refrence 这里

之后,您可以使用以下命令来导入数据库:

mysql -u <username> -p <databasename> < <filename.sql>

1

从终端在MYSQL中导入数据库的最简单方法是通过以下过程完成-

mysql -u root -p root database_name < path to your .sql file

我在上面做的是:

  1. 使用我的用户名和密码(这里是rootroot)输入mysql
  2. 输入密码后,我输入要导入.sql文件的数据库名称。 请确保数据库已存在于您的MYSQL中
  3. 数据库名称后跟<.SQL文件的路径。例如,如果我的文件存储在桌面中,则路径为/home/Desktop/db.sql

而已。完成所有这些操作后,按Enter键,然后等待您的.sql文件上载到相应的数据库


0

-p和密码之间必须没有空格

mysql -u [dbusername] -p[dbpassword] [databasename] < /home/serverusername/public_html/restore_db/database_file.sql

我一直在使用它,它运行完美。谢谢问这个问题。祝你有美好的一天。Njoy :)


我们还可以在共享,专用和云服务器上的cron作业(计划任务)中设置此设置,以自动重置或导入数据库时​​间。
Kamlesh
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.