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

我找不到确切的语法。


当前回答

下面的命令在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]

示例:mysqldump -u root -p max_production < max_development.sql

注意SQL文件必须存在同一目录

其他回答

在挣扎了一段时间后,我在https://tommcfarlin.com/importing-a-large-database/上找到了信息

连接Mysql(让我们使用root用户名和密码): Mysql -uroot - root 连接到数据库(假设它被称为emptyDatabase(你应该得到一个确认消息): 连接emptyDatabase

3导入源代码,假设这个文件叫做mySource。它位于myUser用户配置文件下的mySoureDb文件夹中:

source /Users/myUser/mySourceDB/mySource.sql

窗户的首选方式:

打开控制台并启动交互式MySQL模式 使用< name_of_your_database >; 源< path_of_your_.sql >

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

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

mysql> source <file-path>

例如:

mysql> use phonebook;

mysql> source /tmp/phonebook.sql;

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

从终端:

mysql -uroot -p --default-character-set=utf8 database_name </database_path/database.sql

我通常使用这个命令加载我的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上工作良好。