[英]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,並花了幾個小時試圖解決這個問題,但無濟於事。
對於 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 堆棧。
在 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)。
您可能需要按照以下步驟操作:
然后 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.