从Mac上的终端连接到.sql文件

时间:2013-08-05 10:34:50

标签: mysql sql terminal

我有一个未加密的.sql文件(我可以在文本编辑器中查看)。该文件的标题说:

-- MySQL dump 10.13  Distrib 5.1.41, for debian-linux-gnu (i486)

所以我刚刚在我的Mac上安装了MySQL,包括命令行/终端工具,并且正在运行MySQL服务器 - 我想在终端中使用该文件。

当我尝试:

  

mysql file_name.sql

我得到了

  

用户''@ localhost'拒绝访问数据库'file_name.sql'

我不相信我有这个文件的密码/用户名。我想要做的是打开.sql文件,查看其中的表,然后(最终)从Python连接到它并将表读入Pandas / Python。

在尝试从命令行连接数据库时,我有什么想法?

提前致谢

2 个答案:

答案 0 :(得分:4)

您有一个数据库转储,而不是数据库。该文件只是一个包含SQL指令的文本文件,如果给MySQL运行数据库,它将重新创建表,索引,视图和其中包含的数据。

您需要先将转储加载到数据库中,然后才能连接到它:

mysql -h hostname -u user --password=password databasename < file_name.sql

此处mysql使用给定的用户名和密码连接到主机名上的现有数据库,并从您拥有的文件中加载SQL。

如果你手头没有一个数据库来加载转储,你首先需要创建一个数据库。

答案 1 :(得分:0)

SQL转储通常是一个包含CREATE TABLE ...INSERT INTO ...等SQL命令的文本文件,最终将为您构建所需的数据库。为了执行这些命令,您必须首先连接到数据库服务器,然后(也可能)选择该服务器上的数据库。