我有一个未加密的.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。
在尝试从命令行连接数据库时,我有什么想法?
提前致谢
答案 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命令的文本文件,最终将为您构建所需的数据库。为了执行这些命令,您必须首先连接到数据库服务器,然后(也可能)选择该服务器上的数据库。