mysql資料庫和MySQLdb環境配置
安裝Mysql
Windows環境下安裝資料庫, 網址:https://dev.mysql.com/downloads/installer/ 選取MSI Installer
這個安裝包檔案傻瓜式,主要在安裝過程中記住自己設定的許可權密碼就行了.
安裝完畢後,配置環境變數.
在win10系統下,步驟如下 1.找到此電腦,右鍵屬性 2.點選高階系統設定 3.點選環境變數 4.在系統的path下編輯,新添
mysql serve主目錄下的bin資料夾地址即可
最後開啟cmd命令,輸入 mysql -u root -p
mysql啟動成功
為python增加MySQLdb模組
開啟python,輸入
>>>import MySQLdb
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
ImportError: No module named MySQLdb
>>>
說明還沒有安裝 官網下載安裝包, 網址:https://pypi.org/project/MySQL-python/1.2.5/
選擇合適的版本,不然安裝包識別不到python,直接安裝即可.
安裝完畢後,開啟python,輸入
>>>import MySQLdb >>>
這時沒有報錯,模組安裝成功
python操作mysql
事先記得開啟mysql serve, 編輯testdb.py檔案
# -*- coding:utf-8 -*- import MySQLdb if __name__ == "__main__": test= MySQLdb.connect("localhost","root","root","mysql" ) cur = test.cursor() cur.execute('show tables;') for data in cur.fetchall(): print data
python testdb.py
報錯: [ERROR]1251--Client does not support authentication protocol requested by server
查詢原因:
mysql伺服器要求的認證外掛版本與客戶端不一致造成的。 開啟mysql命令列輸入如下命令檢視,系統使用者對應的認證外掛: 可以看到root使用者使用的plugin是caching_sha2_password,mysql官方網站有如下說明: 意思是說caching_sha2_password是8.0預設的認證外掛,必須使用支援此外掛的客戶端版本。
解決辦法:
用管理員身份開啟cmd mysql -uroot -p(輸入密碼) 進入mysql執行下面三個命令 use mysql; ALTER USER ‘root’@’localhost’ IDENTIFIED WITH mysql_native_password BY ‘你的密碼’; FLUSH PRIVILEGES;
解決後,再次執行testdb.py檔案
環境配置成功,已經可以用python來操作mysql資料庫