-1

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

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

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

当我尝试:

mysql 文件名.sql

我明白了

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

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

关于我在尝试从命令行连接到数据库时做错了什么有什么想法吗?

提前致谢

4

2 回答 2

5

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

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

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

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

如果您手头没有数据库可以将转储加载到其中,您需要先创建一个数据库。

于 2013-08-05T10:41:13.313 回答
0

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

于 2013-08-05T10:40:49.910 回答