我怎样才能从terminal导入数据库与MySQL?
如何从terminal导入数据库与MySQL?
我无法find确切的语法。
假设您在Linux或Windows控制台上:
提示input密码:
mysql -u <username> -p <databasename> < <filename.sql>
直接input密码(不安全):
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的优选方式:
-
login到您的MYSQL控制台。
-
USE <name_of_your_database>;
-
SOURCE <path_of_your_.sql_file>
mysql -u <username> -p <database name> < <dump file path>
-u
– 用户名
-p
– 提示密码
mysql -u root -p mydb < /home/db_backup.sql
否则你可以通过密码前面的-p,但出于安全的原因,这是不容易的
从docker:
mysql -uroot -p --default-character-set=utf8 database_name </database_path/database.sql
在terminaltypes中
mysql -uroot -p1234; use databasename; source /path/filename.sql
我通常使用这个命令加载我的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上运行良好。
mysql -u username -ppassword dbname < /path/file-name.sql
例
mysql -u root -proot product < /home/myPC/Downloads/tbl_product.sql
从terminal使用此
说明:
-
首先创build一个数据库或使用现有的数据库。 在我的情况下,我正在使用现有的数据库
-
在我的情况下,通过给
<name of database> = ClassicModels
数据库的<name of database> = ClassicModels
加载数据库,并使用操作符<
给出database = sakila-data.sql
的pathdatabase = sakila-data.sql
-
通过运行显示表,我可以看到表格列表。
注意:在我的情况下,我得到了一个错误1062 ,因为我想再次加载相同的东西。
如果你正在使用mysql网站的sakila-db,那么在Linux平台上很容易就可以按照下面的步骤操作,下载sakila-db的zip文件后,解压缩它。 现在你将有两个文件,一个是sakila-schema.sql ,另外一个是sakila-data.sql 。
- 打开terminal
- input命令mysql -u root -p <sakila-schema.sql
- input命令mysql -u root -p <sakila-data.sql
- 现在input命令mysql -u root -p并input你的密码,现在你已经用默认的数据库进入了mysql系统。
- 要使用sakila数据库,请使用此命令使用sakila;
- 要查看sakila-db中的表 ,请使用show tables命令
请注意提取的文件存在于主目录中 。
-
打开MySQL命令行客户端并input您的密码
-
切换到要用于导入.sql文件数据的数据库。 input以下命令来完成
USE your_database_name
-
现在find要执行的.sql文件。
如果该文件位于主本地C:驱动器目录中,并且.sql脚本文件名为currentSqlTable.sql
,则可以键入以下内容:\. C:\currentSqlTable.sql
然后按Enter执行SQL脚本文件。
在Ubuntu中,从MySQL监视器 ,你已经使用了这个语法:
mysql> use <dbname>
– > USE语句告诉MySQL使用dbname
作为后续语句的默认数据库
mysql> source <file-path>
例如 :
mysql> use phonebook; mysql> source /tmp/phonebook.sql;
重要提示 :确保sql文件位于mysql 可以访问的目录中,如/ tmp
下面的命令是在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文件应该存在相同的目录
经过一段时间的努力,我发现在https://tommcfarlin.com/importing-a-large-database/
-
连接到Mysql(让我们使用root用户名和密码):
mysql -uroot -proot
-
连接到数据库(假设它被称为emptyDatabase(你应该得到一个确认信息):
connect emptyDatabase
3导入源代码,可以说这个文件叫做mySource.sql,它位于名为myUser的用户的configuration文件下名为mySoureDb的文件夹中:
source /Users/myUser/mySourceDB/mySource.sql
在terminal上运行命令之前,您必须确保您的terminal上安装了MySQL。
您可以使用以下命令来安装它:
sudo apt-get update sudo apt-get install mysql-server
参考这里 。
之后,您可以使用以下命令导入数据库:
mysql -u <username> -p <databasename> < <filename.sql>