如何在终端使用mysql导入数据库?
我找不到准确的语法。
假设您正在使用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
注意:如果您使用的是Windows操作系统,则在执行命令之前,您需要在CMD中cd
(更改目录)到MySQL/bin目录。
Windows下推荐的方法:
打开控制台并启动交互式MySQL模式
use <你的数据库名称>;
source <你的.sql文件路径>
;
,但是有少数例外情况,包括 USE
和 SOURCE
。为了使内容更加易懂,本文翻译了一句英文。 - Simon EastUSE <database>
时,它没有导入数据库(Mysql版本14.14)。 - Cloud Chomysql -u <USERNAME> -p <DB NAME> < <dump file path>
-u
- 代表用户名。
-p
- 代表提示输入密码。
例如: mysql -u root -p mydb < /home/db_backup.sql
你也可以在-p之后提供密码,但出于安全考虑,不建议这样做。密码将会明文显示在命令行上。
直接从var/www/html
mysql -u username -p database_name < /path/to/file.sql
从mysql内部:
mysql> use db_name;
mysql> source backup-file.sql
以下命令适用于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文件应该在同一个目录下存在
在终端中输入
mysql -uroot -p1234; use databasename; source /path/filename.sql
从终端:
mysql -uroot -p --default-character-set=utf8 database_name </database_path/database.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终端上运行良好。