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

我找不到确切的语法。


当前回答

在Ubuntu中,从MySQL监视器中,你已经使用了这个语法:

Mysql >使用<dbname> -> USE语句告诉MySQL在后续语句中使用dbname作为默认数据库

mysql> source <file-path>

例如:

mysql> use phonebook;

mysql> source /tmp/phonebook.sql;

注意:确保sql文件在一个mysql可以访问的目录下,比如/tmp

其他回答

在终端类型中

mysql -uroot -p1234; use databasename; source /path/filename.sql

打开MySQL命令行客户端,输入密码 更改为要用于导入.sql文件数据的数据库。可以这样做: 使用your_database_name 现在找到要执行的.sql文件。 如果文件位于本地C: drive主目录下,且.sql脚本文件名为currentSqlTable. xml。Sql,您将键入以下内容: \。C: \ currentSqlTable.sql ,按“Enter”,执行SQL脚本文件。

如果您想从SQL转储中导入数据库,其中可能有“use”语句,我建议使用“-o”选项作为保护,以免意外导入到错误的数据库。

   •   --one-database, -o

       Ignore statements except those those that occur while the default
       database is the one named on the command line. This filtering is
       limited, and based only on USE statements. This is useful for
       skipping updates to other databases in the binary log.

完整的命令:

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

首先通过命令行连接mysql

mysql -u root -p

进入MySQL PW

选择目标DB名称

use <db_name>

选择要导入的db文件

SET autocommit=0; source /root/<db_file>;

commit;

这个应该可以了。(谢谢清理) 这将工作,即使10GB的DB可以成功导入这种方式。:)

我通常使用这个命令加载我的SQL数据时,文件名称:000-tableA。sql表b 001 -。002 - tablec.sql sql,。

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

在OSX shell上工作良好。