簡體   English   中英

在 Mac OS X 上安裝 MySQL Python

[英]Installing MySQL Python on Mac OS X

長話短說,當我寫下以下內容時:

sudo easy_install MySQL-python

我收到錯誤

環境錯誤:找不到 mysql_config

好的,所以有很多關於如何解決這個問題的線程等等,所以我運行了這個代碼:

export PATH=$PATH:/usr/local/mysql/bin

然后我重新運行我的 sudo 代碼:

sudo easy_install MySQL-python

然后我收到以下錯誤。

安裝腳本退出並出現錯誤:命令“llvm-gcc-4.2”失敗,退出狀態為 1

谷歌/堆棧溢出,我被告知要下載我前幾天做的GCC包,200 MB 或大約,但仍然沒有修復。

在這一點上我迷失了,他們說瘋狂是一遍又一遍地做同樣的事情,同時期待不同的結果。 好吧,我一直在運行上述代碼,期望得到不同的結果,所以我離瘋狂不遠了。

在我的 Python 職業生涯的這個階段,我是新手,但我願意嘗試幾乎任何事情來啟動和運行它。

如果它有助於我正式運行 Mac OS X 10.7.5,並且我確實安裝了MAMP (這是一個問題嗎?)

此外,前幾天,當我第一次嘗試安裝(重新安裝?)MySQL 時,我正在嘗試所有這些,所以此時我真的處於困境。

有解決辦法嗎?

我絞盡腦汁,搜索了谷歌,閱讀了 Stack Overflow,並花了幾個小時試圖解決這個問題,但無濟於事。

這是我要安裝的,特別是如果你想使用自制軟件

  • XCode 和命令行工具(如@7stud、@kjti 所建議的)
  • 安裝自制軟件
  • brew install mysql-connector-c
  • pip install mysql-python

另一種選擇是使用pymysql,它是到 MySQL 的純 Python 客戶端連接,因此您不必為編譯而煩惱,這是一個很好的練習,但如果您只是想完成某事,則可能會令人沮喪。 pymysql 遵循與 MySQLdb 相同的 API,它本質上可以用作替代品。

另外,曾經是 MySQLdb 不能與 Python 3 一起使用,但這可能已經改變了,pymysql 沒有那個問題也促使我切換,盡管這可能已經改變了。 pymysql 可能比 MySQLdb 慢,但您必須查看是否注意到這一點,它也使用不同的許可證(pymysql 為 MIT,MySQLdb 為 GPL)

通過homebrew安裝 mysql,然后就可以通過 pip 安裝 mysql python。

pip install MySQL-python

這個對我有用。

對於 Python 3+mysql-python庫已損壞。 相反,使用mysqlclient 庫 Install with: pip install mysqlclient

它是支持 Python 3+ 的 mysql-python(也稱為 MySQLdb )的一個分支

這個庫與 MySQL 客戶端的 C 接口通信,並且比純 python pymysql 庫更快。

注意:您需要安裝 mysql-developer 工具。 在 Mac 上執行此操作的一種簡單方法是運行

brew install mysql-connector-c

將此任務委托給自制軟件。 如果您使用的是 linux,則可以通過mysqlclient github 頁面上的說明安裝這些。

我正在使用 OSX -v 10.10.4 上面的解決方案是一種快速簡便的.

默認情況下,Happening OSX 沒有連接庫。

首先,您應該安裝連接器:

brew install mysql-connector-c

然后用pip mysql安裝

pip install mysql-python

安裝 PyMySQL

安裝 pip => sudo easy_install pip

安裝 PyMySQL=> sudo easy_install-3.7 pymysql

終端命令檢查是否安裝=> pip3 list

或者

安裝 PyMySQL=> sudo pip install PyMySQL

終端命令檢查是否安裝=> pip3 list

MySQL

macOS Sierra Public Beta 在 MySQL 5.7.x 上運行不佳,但現在使用 MySQL 5.7.16 解決了這些問題

MySQL 沒有預裝 macOS Sierra,需要從 MySQL 站點下載。

( https://dev.mysql.com/downloads/mysql/ ) 最新版本的MySQL 5.7.16確實適用於公開發布的 macOS。

如果您已經擁有 MySQL 5.7 並且您已將操作系統從 El Capitan 升級到 Sierra,我希望這沒問題,但如果有人對此發表評論,我會很感興趣。

使用Mac OS X 10.11(x86,64 位),DMG 存檔版本(適用於 macOS Sierra)。

如果您是從以前的 OSX 升級並且擁有較舊的 MySQL 版本,則不必更新它。 MySQL 升級的一件事總是對數據庫進行數據轉儲,以防萬一出現問題,並且在升級到 macOS Sierra 之前確保您的 MySQL 服務器沒有運行。

下載時無需注冊,查找» 不,謝謝,帶我去下載! – 直接前往下載鏡像並從離您最近的鏡像下載軟件。

下載后打開 .dmg 並運行安裝程序。

安裝完成后,您會看到一個帶有臨時mysql root 密碼的對話框——這是一個 MySQL root 密碼而不是 macOS 管理員密碼,復制並粘貼它以便您可以使用它。 但是我發現臨時密碼幾乎沒有用,所以我們需要立即更改它。

您還被告知:如果您丟失了此密碼,請參閱 MySQL 參考手冊中的“如何重置 Root 密碼”部分。( https://dev.mysql.com/doc/refman/5.7/en/resetting-permissions。 html )

更改 MySQL 根密碼

請注意,這與 macOS 的 root 或管理員密碼不同 - 這是mysql root 用戶的唯一密碼,使用一個並記住/記下它是什么。

停止 MySQL

sudo /usr/local/mysql/support-files/mysql.server stop

如果停止拋出權限問題

首先檢查錯誤文件。

tail -f /usr/local/mysql/data/*.err

完全關閉或終止進程。 確認沒有mysql進程在運行

mysqladmin -uroot shutdown
sudo killall mysqld 

ps -ef | grep mysql

給予權限

sudo chown -RL root:mysql /usr/local/mysql
sudo chown -RL mysql:mysql /usr/local/mysql/data
chmod -R 755 /usr/local/mysql/data
chmod -R 755 /usr/local/mysql/data/accountname.local.pid

or Right click->get info and change the permission for 
/usr/local/mysql/data
/usr/local/mysql/data/Pushparajas-MacBook-Pro.local.pid

啟動mysql

sudo mysql.server start

以安全模式啟動它:

sudo mysqld_safe --skip-grant-tables

這將是一個持續的命令,直到該過程完成,因此打開另一個 shell/終端窗口,並使用臨時生成的密碼登錄:

mysql -u root -p
FLUSH PRIVILEGES;
ALTER USER 'root'@'localhost' IDENTIFIED BY 'MyNewPass'

; 將小寫的“MyNewPass”更改為您想要的 – 並保留單引號。

\q

啟動 MySQL

sudo /usr/local/mysql/support-files/mysql.server start

啟動 MySQL

然后,您可以從系統首選項或通過命令行啟動 MySQL 服務器。

命令行啟動 MySQL。

sudo /usr/local/mysql/support-files/mysql.server start

要從終端查找 MySQL 版本,請在提示符下鍵入:

/usr/local/mysql/bin/mysql -v -uroot -p

這也使您進入與 mySQL 的 shell 交互式對話,鍵入 \\q 退出。

安裝后,為了在不鍵入命令的完整路徑的情況下使用 mysql 命令,您需要將 mysql 目錄添加到您的 shell 路徑中,(可選步驟)這是在您的主目錄中的“.bash_profile”文件中完成的,如果您沒有該文件,只需使用 vi 或 nano 創建它:

cd ; nano .bash_profile
export PATH="/usr/local/mysql/bin:$PATH"

第一個命令將您帶到您的主目錄並打開 .bash_profile 文件或創建一個新文件(如果它不存在),然后添加上面的行,將 mysql 二進制路徑添加到您可以運行的命令中。 鍵入“control + x”退出文件,並在提示時鍵入“y”保存更改。 在這里要做的最后一件事是重新加載外殼以使上述內容立即工作。

source ~/.bash_profile
mysql -v

您將再次獲得版本號,只需鍵入“q”即可退出。

修復 2002 MySQL Socket 錯誤

修復迫在眉睫的 2002 套接字錯誤——它鏈接 MySQL 放置套接字的位置和 macOS 認為它應該在的位置,MySQL 將它放在/tmp 中,而 macOS 在/var/mysql 中查找它,套接字是一種允許 mysql 客戶端的文件/服務器通信。

sudo mkdir /var/mysql
sudo ln -s /tmp/mysql.sock /var/mysql/mysql.sock

phpMyAdmin

httpd.conf文件中取消注釋下面的行

LoadModule php7_module libexec/apache2/libphp7.so

如果您還沒有從 MySQL 部分修復 2002 套接字錯誤,請先修復它-

sudo mkdir /var/mysql
sudo ln -s /tmp/mysql.sock /var/mysql/mysql.sock

下載phpMyAdmin,( https://www.phpmyadmin.net/downloads/ ) zip 英文包適合很多用戶,然后解壓並將文件夾及其內容移動到文檔根級(~/Sites/) 重命名文件夾到“phpmyadmin”。

創建配置文件夾

mkdir ~/Sites/phpmyadmin/config

更改權限

chmod o+w ~/Sites/phpmyadmin/config

在瀏覽器中運行設置http://localhost/~username/phpmyadmin/setup/http://localhost/phpmyadmin/setup/

您需要創建一個新的 localhost mysql 服務器連接,單擊new server

切換到Authentication選項卡並設置本地 mysql root 用戶和密碼。

添加用戶名“root”(可能已經填充,添加您之前為 MySQL root 用戶設置設置的密碼,單擊保存,您將返回到上一個屏幕。(這不是 macOS 管理員或 root密碼——它是 MySQL root 用戶)。

確保您單擊保存,然后 config.inc.php 現在在 phpmyadmin 目錄的 /config 目錄中,將此文件移動到 /phpmyadmin 的根級別,然后刪除現在為空的/config 目錄。

在最新的phpmyadmin中,下載config.inc.php並放到phpmyadmin目錄下。

如果您想設置新服務器,請將 config.inc.php 移動到某個位置並嘗試http://localhost/~username/phpmyadmin/setup

現在轉到http://localhost/~username/phpmyadmin/將允許您與 MySQL 數據庫進行交互。

要升級 phpmyadmin,只需下載最新版本並將舊的 ' config.inc.php ' 從現有目錄復制到新文件夾中並替換 - 備份舊的以防萬一。

權限

要在沒有權限問題的情況下運行網站,最好將 Web 根目錄及其內容設置為所有人可寫,因為它是本地開發,不應該是安全問題。

假設您在以下位置的User Sites文件夾中有一個站點~/Sites/testsite您可以將其設置為可寫,如下所示:

sudo chmod -R a+w ~/Sites/testsite

如果您擔心安全性,那么您可以將所有者設置為 Apache _www而不是使其成為可寫的,但是在處理文件時,您必須以管理員身份進行更多身份驗證,而您“不是”所有者,您可以這樣做:

sudo chown -R _www ~/Sites/testsite

這將遞歸地將內容設置為由 Apache 用戶擁有。 如果您將網站存儲在系統級文檔根目錄中,例如~/Sites/testsite那么它必須是后者:

sudo chown -R _www ~/Sites/testsite

如果您有一個單用戶工作站,另一種更簡單的方法是將 Apache Web 用戶從 _www 更改為您的帳戶。 就是這樣! 您現在擁有在 macOS Sierra 上運行的本機 AMP 堆棧。

參考鏈接 - https://coolestguidesontheplanet.com/get-apache-mysql-php-and-phpmyadmin-working-on-macos-sierra/#ssu

在 Mojave 上,我在查找 SSL 庫時遇到了錯誤,以下是最終無需修改mysql_config

sudo pip install MySQL-Python --global-option=build_ext --global-option="-I/usr/local/opt/openssl/include" --global-option="-L/usr/local/opt/openssl/lib"

希望這會為某人節省幾個小時的心痛

是時候成為一個大男孩並從源代碼安裝了。 嘗試這個:

1) 下載 MySQL-python-1.XXtar.gz 文件(默認會進入你的下載目錄)

2) 打開終端窗口並 cd 到下載目錄。

3) 解壓您下載的文件:

~/Downloads$ tar xfvz MySQL-python-1.X.X.tar.gz

這將在您的下載目錄中創建一個名為 MySQL-python 的目錄

4) cd 進入新創建的目錄。

5) 通常,您只需打開名為 README 或 INSTALL 的文件並按照說明進行操作——但通常要安裝 python 模塊,您只需:

$ sudo python setup.py install

如果您願意查看,在您新創建的 MySQL-python 目錄中應該有一個名為 setup.py 的文件,並且您正在調用該程序來安裝該模塊。

還要注意的是:

export PATH=$PATH:/usr/local/mysql/bin

如果您在命令行上執行此操作,則不是永久性的。 您需要將該行放在主目錄(~/ 或等效的 /Users/YOUR_USER_NAME)中名為 .bashrc 的文件中。 要查看 .bashrc 是否已經存在(它是一個隱藏文件),請發出以下命令:

$ ls -al 

並尋找 .bashrc。 如果 .bashrc 不存在,則創建它。

正如我之前提到的其他人......讓 Python 在 Mac 上與 MySQL 一起工作是一個 ?@#$@&%^!! 惡夢。

最初從原始 Django 網站在 Mac OS 10.7.5 上安裝了 Django 框架,當 MySQLdb 無法正常工作時,經過數小時的谷歌搜索並嘗試了 SO 的解決方案,我已經從 BitNami http://bitnami.com安裝了 Django 堆棧/堆棧/Django

盡管如此,還是遇到了上面提到的問題,然后還有更多...

最終幫助我的是 Josh 在他的博客上推薦的內容: http : //joshbranchaud.com/blog/2013/02/10/Errors-While-Setting-Up-Django.html

現在 Python 2.7 終於連接到 MySQL 5.5

您遇到的問題是您的 Mac 上未安裝gcc編譯器。 如果您已經安裝了 XCode,它將被安裝。 您必須下載gcc編譯器並手動安裝。 請按照以下鏈接下載 -

https://github.com/downloads/kennethreitz/osx-gcc-installer/GCC-10.7-v2.pkg

我曾經在安裝 Ruby 1.9 時遇到過這個問題,我不得不為自己編譯 ruby​​,因為當時不支持 Mountain Lion。 安裝軟件包后,通過命令gcc驗證安裝。

我在 Mac OS X 10.11.4 15E65 上使用 Python 2.7.11 :: Anaconda 2.3.0 (x86_64)。

您可能需要按照以下步驟操作:

  • 安裝自制軟件
  • 打開終端並運行: brew install mysql-connector-c
  • pip 安裝 mysql-python

然后 Anaconda 將安裝 mysql-python,然后您可以從 MySQLdb 開始。

祝你好運。 謝謝。

最重要的是,我無法解決它。 但是我將文件添加到 /usr/local/include 解決了它。

https://github.com/peterlee0304/MySQL-Python/blob/master/my_config.h

在 /usr/local/include 中,添加一個 my_config.h 文件。

然后pip install MySQL-Python

解決這個問題!

對我有用的是:

LDFLAGS=-L/usr/local/opt/openssl/lib pip install mysql-python

以下可能會有所幫助。

brew install mysql-connector-c
CFLAGS =-I/usr/local/Cellar/mysql-connector-c/6.1.11/include pip install MySQL-python
brew unlink mysql-connector-c

我改用了 PyMySQL,它工作正常!

sudo easy_install-3.7 pymysql

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM