tags:

views:

32

answers:

2

Hi,

I'm attempting to use mysql after only having worked with sqlite in the past.

I've installed XAMPP on linux (ubuntu) and have mysql up and running fine (seems like that with phpMyadmin atleast). However, I'm having trouble getting the MySQLdb (the python lib) working {installed this using apt}. to be exact:

>>> 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)")

I'm guessing :

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

means its expecting some sort of local installation (i.e. not within XAMPP), but I cant figure out how to go about modding this to get it to work with the xampp flavour of mysql.

help much appreciated!

+1  A: 

It means that you didn't start the MySQL server, or it's configured to not use a domain socket.

Ignacio Vazquez-Abrams
A: 

For the record (and thanks to a pointer from Igancio), I found that the below works (terrible I didnt think of this before):

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