【问题标题】:Connecting to .sql file from terminal on a Mac在 Mac 上从终端连接到 .sql 文件
【发布时间】:2013-08-05 10:34:49
【问题描述】:

我有一个未加密的 .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。

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

提前致谢

【问题讨论】:

    标签: mysql sql terminal


    【解决方案1】:

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

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

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

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

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

    【讨论】:

    • 在mac上,您可以在GUI中使用Sequel Pro轻松导出和导入。
    • @zssr:当然,还有更多的 GUI 可以做到这一点。它们都使用 MySQL API 提供的相同功能来运行 SQL 脚本。
    【解决方案2】:

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

    【讨论】:

      猜你喜欢
      • 2013-09-22
      • 2015-03-01
      • 2011-03-29
      • 1970-01-01
      • 2013-01-08
      • 2014-12-25
      • 2013-11-22
      • 1970-01-01
      • 2020-01-22
      相关资源
      最近更新 更多