2013-08-05 171 views
-1

我有一個未加密的.sql文件(我可以在文本編輯器中查看)。該文件的頭說:從Mac終端連接到.sql文件

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

所以我剛纔安裝的MySQL我的Mac上,在命令行/終端工具,並正在運行MySQL服務器 - 我想玩弄在終端的文件。

當我嘗試:

MySQL的file_name.sql

我得到

訪問被拒絕的用戶 '' @ 'localhost' 的數據庫 'file_name.sql'

我不相信我有任何密碼/用戶名th是文件。我想要做的是打開.sql文件,查看其中的表格,然後(最終)從Python連接到它,並將表格讀入Pandas/Python。

任何想法,我在做什麼錯誤嘗試從命令行連接到數據庫?

在此先感謝

回答

4

您有一個數據庫轉儲,而不是一個數據庫。該文件僅僅是一個包含SQL指令的文本文件,如果將MySQL指定爲針對數據庫運行,該文件將重新創建表,索引,視圖以及其中包含的數據。

你需要轉儲加載到數據庫,然後才能連接到它:

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

這裏mysql連接到現有數據庫的主機名,用給定的用戶名和密碼,並加載您擁有的文件中的SQL。

如果您手邊沒有用於加載轉儲的數據庫,則需要先創建數據庫。

+0

在Mac上,您可以使用GUI中的'Sequel Pro'輕鬆導出和導入。 – 0xa6a

+0

@zssr:當然,還有更多的GUI可以做到這一點。它們都使用MySQL API提供的相同功能來運行SQL腳本。 –

0

的SQL轉儲通常包含SQL命令的文本文件一樣CREATE TABLE ...INSERT INTO ...最終將構建所需的數據庫爲您服務。爲了執行這些命令,您必須先連接到數據庫服務器,然後(還可能)選擇該服務器上的數據庫。