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 и не знаю, что делать... пожалуйста, кто-нибудь может помочь мне???