【发布时间】:2011-05-31 14:42:56
【问题描述】:
如何从终端导入带有 mysql 的数据库?
我找不到确切的语法。
【问题讨论】:
如何从终端导入带有 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
另见:
4.5.1.5. Executing SQL Statements from a Text File
注意:如果您在 Windows 上,那么您必须在执行命令之前将 cd(更改目录)到 CMD 中的 MySQL/bin 目录。
【讨论】:
source,我们可以看到信息性消息(“受影响的行”)和错误消息。但是使用您的解决方案,我们如何使用< filename.sql 查看消息?
windows 的首选方式:
打开控制台,启动交互式 MySQL 模式
use <name_of_your_database>;
source <path_of_your_.sql>
【讨论】:
;,但也有一些例外,包括USE 和SOURCE。跨度>
mysql -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
【讨论】:
从终端:
mysql -uroot -p --default-character-set=utf8 database_name </database_path/database.sql
【讨论】:
在终端类型中
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 上运行良好。
【讨论】:
以下命令在 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
注意SQL文件应该存在同一目录
【讨论】:
mysql -u username -ppassword dbname < /path/file-name.sql
例子
mysql -u root -proot product < /home/myPC/Downloads/tbl_product.sql
从终端使用这个
【讨论】:
经过一段时间的挣扎,我在https://tommcfarlin.com/importing-a-large-database/找到了信息
连接到 Mysql(让我们使用 root 作为用户名和密码):
mysql -uroot -proot
连接到数据库(假设它被称为 emptyDatabase(您应该会收到一条确认消息):
connect emptyDatabase
3 导入源代码,假设文件名为 mySource.sql,它位于名为 myUser 的用户配置文件下名为 mySoureDb 的文件夹中:
source /Users/myUser/mySourceDB/mySource.sql
【讨论】:
打开 MySQL 命令行客户端并输入您的密码
更改为要用于将 .sql 文件数据导入的数据库。输入:
USE your_database_name
现在找到您要执行的 .sql 文件。
如果文件位于主本地 C: 驱动器目录且 .sql 脚本文件名为 currentSqlTable.sql,则应键入以下内容:
\. C:\currentSqlTable.sql
然后按Enter 来执行SQL 脚本文件。
【讨论】:
如果您使用的是来自 mysql 网站的 sakila-db, 在 Linux 平台上非常简单,只需按照下面提到的步骤,下载 sakila-db 的 zip 文件后,将其解压缩。现在您将有两个文件,一个是 sakila-schema.sql,另一个是 sakila-data.sql。
请注意提取的文件存在于主目录中。
【讨论】:
在 Ubuntu 中,从 MySQL 监视器,您已经使用过以下语法:
mysql> use <dbname>
-> USE 语句告诉 MySQL 使用dbname 作为后续语句的默认数据库
mysql> source <file-path>
例如:
mysql> use phonebook;
mysql> source /tmp/phonebook.sql;
重要:确保sql文件在mysql可以访问喜欢/tmp的目录中
【讨论】:
在终端上运行命令之前,您必须确保在终端上安装了 MySQL。
您可以使用以下命令进行安装:
sudo apt-get update
sudo apt-get install mysql-server
引用here。
之后,您可以使用以下命令导入数据库:
mysql -u <username> -p <databasename> < <filename.sql>
【讨论】:
从终端导入 MYSQL 中的数据库的最简单方法是通过下面提到的过程完成 -
mysql -u root -p root database_name < path to your .sql file
我在上面做的是:
root & root)<,然后是.sql 文件的路径。例如,如果我的文件存储在 Desktop 中,则路径将为 /home/Desktop/db.sql
就是这样。完成所有这些后,按 Enter 并等待您的 .sql 文件上传到相应的数据库
【讨论】:
对于 Ubuntu/Linux 用户, 提取sql文件粘贴到某处
例如,您粘贴在桌面上
【讨论】:
-p 和密码之间不能有空格
mysql -u [dbusername] -p[dbpassword] [databasename] < /home/serverusername/public_html/restore_db/database_file.sql
我一直在使用它,它工作得很好。感谢您提出这个问题。祝你有美好的一天。开心:)
【讨论】:
先通过命令行连接mysql
mysql -u root -p
输入 MySQL 密码
选择目标数据库名称
use <db_name>
选择要导入的 db 文件
SET autocommit=0; source /root/<db_file>;
commit;
应该这样做。 (感谢清理) 即使可以通过这种方式成功导入 10GB 数据库,这也将起作用。 :)
【讨论】: