[英]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
可以訪問所有內容。 pwd
是user
的密碼。
基本上,此答案假定連接問題是憑據問題。
這就是我要做的
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.