OperationalError: (2002, "Не удается подключиться к локальному серверу MySQL через сокет" /var/run/mysqld/mysqld.sock(2) ")

при подключении к базе данных mysql в Django, я получаю ошибку.

  • Я уверен, что сервер mysql запущен.

  • /var/run/mysqld/mysqld.sock не существует.

  • Когда я запускаю $ find / -name *.sock -type s, я получаю только /tmp/mysql.sock и некоторый другой нерелевантный вывод.

  • Я добавил socket = /tmp/mysql.sock в /etc/my.cnf. А затем восстановил mysql, вышел из оболочки django и подключился к базе данных mysql. Я по-прежнему получаю ту же ошибку.

Я много искал, но я до сих пор не знаю, как это сделать.

Любая помощь приветствуется. Спасибо заранее.

Хорошо, я просто попробовал. И это работает. Я сделал следующее.

  • Добавить socket = /tmp/mysql.sock. Перезапустить сервер mysql.
  • ln -s /tmp/mysql.sock /var/lib/mysqld/mysqld.sock

Сегодня я встретил еще одну проблему. Я не могу войти в mysql. Я новичок в mysql. Поэтому я предполагаю, что сервер mysql и клиент используют один и тот же сокет для связи. Я добавляю socket = /var/mysqld/mysqld.sock в [mysqld] [клиент] блок в my.cnf и это wokrs.

Ответ 1

Используйте "127.0.0.1" вместо "localhost"

DATABASES = {
   'default': {
      'ENGINE': 'django.db.backends.mysql',
      'NAME': 'django',
      'USER': 'root',
      'PASSWORD': '',
      'HOST': '127.0.0.1',
      'PORT': '3306',
   }
}

Ответ 2

в колбе, вы можете использовать это

app=Flask(__name__)

app.config["MYSQL_HOST"]="127.0.0.1
app.config["MYSQL_USER"]="root"...

Ответ 3

выполнив этот шаг: ln -s/tmp/mysqld.sock/var/lib/mysqld/mysqld.sock я получил следующее сообщение: ln: не удалось создать символическую ссылку '/var/lib/mysqld/mysqld.sock': Нет такого файла или каталога, пожалуйста, помогите мне, я искал решение в течение недели. каждый раз, когда я пытаюсь подключиться к mysql через "mysql -u root -p", я получаю эту ошибку:

ОШИБКА 2002 (HY000): не удается подключиться к локальному серверу MySQL через сокет '/var/run/mysqld/mysqld.sock' (2)

Ответ 4

Привет у меня есть тот же erron и не знаю, что делать... пожалуйста, кто-нибудь может помочь мне???