Доступ к XAMPP mysql через Python - PullRequest
7 голосов
/ 21 июля 2010

Я пытаюсь использовать mysql только после того, как работал с sqlite в прошлом.

Я установил XAMPP в Linux (ubuntu) и mysql работает и работает нормально (похоже, что с phpMyadmin как минимум). Однако у меня возникли проблемы с работой MySQLdb (библиотеки Python) {установил это с помощью apt}. а точнее:


>>> 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, "Не удается подключиться к локальному серверу MySQL через сокет '/ вар /run/mysqld/mysqld.sock '(2) ")

Я думаю,

Не удается подключиться к локальному серверу MySQL через сокет '/var/run/mysqld/mysqld.sock

означает, что он ожидает какой-то локальной установки (то есть не в XAMPP), но я не могу понять, как изменить его, чтобы он работал с XAMMP разновидностью mysql.

Помощь очень ценится!

Ответы [ 3 ]

5 голосов
/ 21 июля 2010

Для записи (и благодаря указателю из Igancio) я обнаружил, что работает ниже (ужасно, я не думал об этом раньше):

db=MySQLdb.connect(
   user="root"
  ,passwd=""
  ,db="my_db"
  ,unix_socket="/opt/lampp/var/mysql/mysql.sock")
1 голос
/ 21 июля 2010

Это означает, что вы не запустили сервер MySQL или он настроен на использование доменного сокета.

0 голосов
/ 16 апреля 2015

При использовании той же проблемы найдите ваш конфигурационный файл SQL 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

и используйте сокет в качестве параметра:

mysql://read:read@localhost/phonehome?unix_socket=/Applications/XAMPP/xamppfiles/var/mysql/mysql.sock

В моем случае:

app.config['SQLALCHEMY_DATABASE_URI'] = 'mysql://read:read@localhost/phonehome?unix_socket=/Applications/XAMPP/xamppfiles/var/mysql/mysql.sock'
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...