2010-07-21 20 views
7

Estoy tratando de usar mysql después de haber trabajado con sqlite en el pasado.Accediendo a un XAMPP mysql a través de Python

He instalado XAMPP en Linux (ubuntu) y tengo mysql funcionando bien (parece que con phpMyadmin al menos). Sin embargo, tengo problemas para conseguir que MySQLdb (la lib de python) funcione {lo instalé usando apt}. para ser exactos:

>>> import MySQLdb 
>>> db = MySQLdb.connect(host="localhost",db="opfine") 
Traceback (most recent call last): 
    File "<input>", line 1, in <module> 
    File "/usr/lib/pymodules/python2.6/MySQLdb/__init__.py", line 81, in Connect 
    return Connection(*args, **kwargs) 
    File "/usr/lib/pymodules/python2.6/MySQLdb/connections.py", line 170, in __init_ 
_ 
    super(Connection, self).__init__(*args, **kwargs2) 
OperationalError: (2002, "Can't connect to local MySQL server through socket '/var 
/run/mysqld/mysqld.sock' (2)") 

supongo:

Can't connect to local MySQL server through socket '/var 
    /run/mysqld/mysqld.sock 

significa su esperando algún tipo de instalación local (es decir, no dentro de XAMPP), pero no puedo encontrar la manera de ir sobre este modding para que funcione con el sabor xampp de mysql.

ayuda muy apreciada!

Respuesta

5

Para el registro (y gracias a un puntero de Ignacio), he encontrado que las obras siguientes (terribles no pensé en esto antes):

db=MySQLdb.connect(user="root",passwd="",db="my_db",unix_socket="/opt/lampp/var/mysql/mysql.sock") 
1

Significa que no inició el servidor MySQL, o está configurado para no usar un socket de dominio.

0

tienen el mismo problema utilizando y buscar su SQL archivo de configuración my.cnf.

# The following options will be passed to all MySQL clients 
[client] 
#password = your_password 
port  = 3306 
socket  = /Applications/XAMPP/xamppfiles/var/mysql/mysql.sock 

y el uso toma como parámetro:

mysql://read:[email protected]/phonehome?unix_socket=/Applications/XAMPP/xamppfiles/var/mysql/mysql.sock 

En mi caso:

app.config['SQLALCHEMY_DATABASE_URI'] = 'mysql://read:[email protected]/phonehome?unix_socket=/Applications/XAMPP/xamppfiles/var/mysql/mysql.sock' 
Cuestiones relacionadas