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

ane*_*yzm 352 mysql import

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

我找不到确切的语法.

小智 729

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

提示输入密码:

mysql -u <username> -p <databasename> < <filename.sql>
Run Code Online (Sandbox Code Playgroud)

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

mysql -u <username> -p<PlainPassword> <databasename> < <filename.sql>
Run Code Online (Sandbox Code Playgroud)

例:

mysql -u root -p wp_users < wp_users.sql

mysql -u root -pPassword123 wp_users < wp_users.sql
Run Code Online (Sandbox Code Playgroud)

也可以看看:

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


注意:如果您在Windows上,那么cd在执行命令之前,您必须(更改目录)到CMD内的MySQL/bin目录.

  • +1除了您不应该将您的密码作为CLI参数传递.而只需指定-p选项并在提示后手动输入. (137认同)
  • 如果要通过shell输入,则-p和密码之间没有空格. (13认同)
  • mysql -u username -h hostname -ppassword databasename <filename.sql,用于终端的远程主机 (8认同)
  • 如果你已经在mysql命令提示符(mysql>)中,那么只需输入source full_path_of_file(注意:在导入之前通过命令USE DATABASE_NAME选择数据库). (8认同)
  • @Pekka웃,如果我们使用`source`,我们可以看到信息性消息(*"受影响的行"*)和错误消息.但是使用你的解决方案,我们如何使用`<filename.sql`看到消息? (3认同)

Sri*_*ala 134

Windows的优选方式:

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

  2. use <name_of_your_database>;

  3. source <path_of_your_.sql>

  • @NabeelKhan*大多数*SQL语句在语句末尾需要一个`;`,但有一些例外,包括`USE`和`SOURCE`. (5认同)
  • 为什么我们不需要一个 ; 在文件名之后? (2认同)

Muk*_*aur 32

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

-u - 用户名

-p - 提示密码

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

您也可以提供以-p开头的密码,但出于安全原因,它不可建议.密码将显示在命令本身而非屏蔽.

  • 这是我正在寻找的答案."<"这是我离开的标志. (2认同)

小智 8

直接来自var/www/html

mysql -u username -p database_name < /path/to/file.sql
Run Code Online (Sandbox Code Playgroud)

从mysql内部:

mysql> use db_name;
mysql> source backup-file.sql
Run Code Online (Sandbox Code Playgroud)


Sha*_*Sha 8

打开终端然后

 mysql -u root -p

 eg:- mysql -u shabeer -p
Run Code Online (Sandbox Code Playgroud)

之后创建一个数据库

 mysql> create database "Name";

 eg:- create database INVESTOR;
Run Code Online (Sandbox Code Playgroud)

然后选择那个新数据库“INVESTOR”

 mysql> USE INVESTOR;
Run Code Online (Sandbox Code Playgroud)

从机器中选择sql文件的路径

 mysql> source /home/shabeer/Desktop/new_file.sql;
Run Code Online (Sandbox Code Playgroud)

然后按回车并等待一段时间,如果它全部执行然后

 mysql> exit
Run Code Online (Sandbox Code Playgroud)

在此处输入图片说明


Moh*_*ini 7

从航站楼:

mysql -uroot -p --default-character-set=utf8 database_name </database_path/database.sql
Run Code Online (Sandbox Code Playgroud)


Pat*_*iri 7

在终端类型

mysql -uroot -p1234; use databasename; source /path/filename.sql
Run Code Online (Sandbox Code Playgroud)


Lan*_*ano 6

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

for anyvar in *.sql; do <path to your bin>/mysql -u<username> -p<password>  <database name> < $anyvar; done
Run Code Online (Sandbox Code Playgroud)

适用于OSX shell.


小智 5

如何从命令行加载

说明:

  1. 首先创建数据库或使用现有数据库.就我而言,我使用的是现有数据库

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

  3. 通过运行show tables,我可以看到表格列表.

注意:在我的情况下,我收到错误1062,因为我试图再次加载相同的东西.


小智 5

mysql -u username -ppassword dbname < /path/file-name.sql
Run Code Online (Sandbox Code Playgroud)

mysql -u root -proot product < /home/myPC/Downloads/tbl_product.sql
Run Code Online (Sandbox Code Playgroud)

从终端使用此功能


Lum*_*ign 5

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

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

    mysql -uroot -proot
    
    Run Code Online (Sandbox Code Playgroud)
  2. 连接到数据库(假设它称为 emptyDatabase(您应该会收到一条确认消息):

    connect emptyDatabase
    
    Run Code Online (Sandbox Code Playgroud)

3 导入源代码,假设文件名为 mySource.sql,它位于名为 myUser 的用户配置文件下的名为 mySoureDb 的文件夹中:

source /Users/myUser/mySourceDB/mySource.sql
Run Code Online (Sandbox Code Playgroud)


Dee*_*ube 5

下面的命令正在ubuntu 16.04上工作,我不确定它是否正常工作在其他Linux平台上.

导出SQL文件:

$ mysqldump -u [user_name] -p [database_name] < [database_name.sql]  
Run Code Online (Sandbox Code Playgroud)

示例: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
Run Code Online (Sandbox Code Playgroud)

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

  • 我认为您的导入命令是错误的。导入是通过“mysql”cmd 完成的。“mysqldump”用于导出。 (2认同)