簡體   English   中英

通過Python連接遠程MySQL數據庫

[英]Connect on remote MySQL database through Python

我嘗試過以下腳本,但遺憾的是無效。 我正在使用免費的MySQL數據庫提供程序。 有任何想法嗎?

import MySQLdb

myDB = MySQLdb.connect(host="208.11.220.249",port=3306,user="XXXXX",passwd="XXXXX",db="XXXXX")
cHandler = myDB.cursor()
cHandler.execute("SHOW DATABASES")
results = cHandler.fetchall()
for items in results:
    print items[0]

目前,我收到以下錯誤:

super(Connection, self).__init__(*args, **kwargs2)
_mysql_exceptions.OperationalError: (1044, "Access denied for user 'XXXXX'@'%' to database 'XXXXX'")
 GRANT ALL
 ON  *.*
 TO user@192.168.39.17  -- client ip address
 IDENTIFIED BY 'pwd';

編輯

這是您在數據庫上運行的SQL,以確保user可以訪問所有內容。 pwduser的密碼。

基本上,此答案假定連接問題是憑據問題。

這就是我要做的

  1. 查看該端口是否實際在該計算機上打開。
  2. 在您要連接的計算機上,打開console / cmd / terminal,看看是否可以使用mysql -u XXXX -h 208.11.220.249 -p 如果您的mysql客戶端無法連接,那么您無法使用python進行連接

您無權使用此用戶連接到數據庫。 跟着這些步驟:

1.try連接到mysql DB:mysql -h208.11.220.249 -uXXXXX -pXXXXX XXXXX

2.如果您沒有連接到DB的權限,請嘗試創建具有遠程權限的用戶

GRANT ALL ON DB。* - 數據庫名稱TO user @ ip - client ip address IDENTIFIED BY'pwd';

3.在最后一次檢查my.cnf。 “bind-address”必須為0.0.0.0如果要連接所有遠程地址。

在mysql中打開您的數據庫並輸入以下內容:

mysql> GRANT ALL ON *.* TO root@'x' IDENTIFIED BY 'Your-password'

其中x是要訪問數據庫的用戶的IP地址。

使用此鏈接獲取更多信息: 如何允許MySQL客戶端連接到遠程MySQL服務器

暫無
暫無

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

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