OperationalError: (2003, "Can't connect to MySQL server on 'mysql2.000webhost.com' (10060)")

StackOverflow https://stackoverflow.com/questions/23640051

  •  21-07-2023
  •  | 
  •  

Domanda

I have been learning some basic MySQL and decided to put it into Python which i have some more experience in. I have got PHP scripts working on this MySQL server so i know the server is working. But every time i connect i get this error:

Traceback (most recent call last):
File "E:/Geekster_Bot/Geekster_Bot Code/Geekster_Bot_alpha_API_MySQL", line 6, in <module>
db="MY DATABASE")# name of the data base
File "C:\Python27\lib\site-packages\MySQLdb\__init__.py", line 81, in Connect
return Connection(*args, **kwargs)
File "C:\Python27\lib\site-packages\MySQLdb\connections.py", line 187, in __init__
super(Connection, self).__init__(*args, **kwargs2)
OperationalError: (2003, "Can't connect to MySQL server on 'mysql2.000webhost.com' (10060)")

Im really not sure why. I have got the MySQL port (3306) open and like i said, the server/database is working. Any ideas?

This is the code of the entire MySQL connection;

import MySQLdb

db = MySQLdb.connect(host="mysql2.000webhost.com", # your host, usually localhost
                 user="MY USER", # your username
                  passwd="MY PASSWORD", # your password
                  db="MY DATABASE")# name of the data base

 #you must create a Cursor object. It will let
 #you execute all the queries you need
 cur = db.cursor() 

 #Use all the SQL you like
 cur.execute("SELECT * twitch_follows_ign")

 #print all the first cell of all the rows
 for row in cur.fetchall() :
 print row[0]

All the blocked out data is entered correctly.

È stato utile?

Soluzione

Your database seems to be on an external server "mysql2.000webhost.com", before you connect to the MySQL server from your Python application you'll have to create a database user and grant that user access to the server from your IP address.

If you have a free account on "000webhost" you probably won't be able to create a database user that has access to the database from the outside. Try this site http://www.freemysqlhosting.net/ they will grant you access to the newly created database from any IP address.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top