python连接各种数据库数据_Python连接各种数据库
1.連接Hive數據庫
想直接使用python連接hive數據庫,貌似有很多包可以選,網上用的比較多的是PyHive和impyla.這里我直接選用了PyHive。
Pyhive這個包安裝非常容易,這里就不展開了。但是寫好python程序之后發現報錯:'canot not import hive'. 網上給的答案是說pyhive這個包依賴其他包。(Impyla包的安裝與pyhive的安裝相差不大,只是兩者依賴的包略有不同)
首先在安裝sasl這個包的就在不停的報錯。在網上找了一個別人在解決這個安裝包的記錄貼(親測有效,不想班門弄斧)可以參考,具體網址如下:https://www.cnblogs.com/free-easy0000/p/9638982.html
這里要補充的一點是,sasl安裝包下載地址,具體網址如下:https://www.lfd.uci.edu/~gohlke/pythonlibs/#sasl。具體要下載那個 版本的sasl,要有python版本決定(比36我我的python是64位的3.6版本,所以我下載的就是cp36……amd64.cml)。將所需要的sasl版本下載的本地后,直接pip install 下載地址\sasl…….whl,就可以安裝了。
2.MySQL配置及Python連接MySQL
MySQL的下載地址:https://dev.mysql.com/downloads/mysql/?。我這里安裝的是最新的MySQL 8.0.17版本。具體的安裝步驟可以參考:https://www.cnblogs.com/reyinever/p/8551977.html? 。按照上述步驟安裝完成之后,在管理員模式運行net start mysql可以正常啟動mysql服務。
下面就是安裝navicat客戶端。navicat直接網上下載解壓就可以了。然后使用navicat連接mysql客戶端,新建一個連接,只需要自己取一個“連接名”就可以了。
點擊左下方的‘連接測試’發現提示了一個報錯信息。1251-Client does not support authentication protocol requested by server; consider upgrading MySQL client. 這是因為Mysql8 之前的版本中加密規則是mysql_native_password,而在mysql8之后,加密規則是caching_sha2_password?把mysql用戶登錄密碼加密規則還原成mysql_native_password。只需要更改加密規則并使其生效即可。進入本地mysql后,執行下面兩條語句:
ALTER USER ‘root’@’localhost’ IDENTIFIED WITH mysql_native_password BY ‘123456’;
flush privileges;
執行完這兩條語句重啟mysql服務就可以生效了。
參考:
與50位技術專家面對面20年技術見證,附贈技術全景圖總結
以上是生活随笔為你收集整理的python连接各种数据库数据_Python连接各种数据库的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 长城金刚炮怎么连接蓝牙?
- 下一篇: java synchronized关键字