Автор Тема: MySQL, django, python. Не могу подключиться из под python  (Прочитано 548 раз)

Оффлайн destinyend

  • Начинающий
  • *
  • Сообщений: 6
Здравствуйте! Вчера перешел с kubuntu на ALT Workstation K 10.0
установил mysql-server, следуя совету отсюда: https://forum.altlinux.org/index.php?topic=31273.0
перенес db в /home/mysql сервис запускается, работает. Создал создал юзера, дб, дал права.
из консоли могу подключиться командой mysql -udjango -p
при запуске сервера разработки django получаю 2003, "Can't connect to MySQL server on 'localhost' ([Errno 111] Connection refused)"
куда смотреть? Что не так?

Оффлайн ruslandh

  • Поспешай не торопясь !
  • Модератор глобальный
  • *****
  • Сообщений: 32 246
  • Учиться .... Телепатами не рождаются, ими ....
    • Email

Оффлайн destinyend

  • Начинающий
  • *
  • Сообщений: 6
Спасибо за ответ. Да. Это было первое что я читал. MySQL отказался запускаться. (к слову, расположение /var/lib/mysql/my.cnf неверное, у меня он в /etc/my.cnf)После чего стал гуглить и нашел тему из моего первого поста. Сервис работает, базы загружаются из консоли команды выполняются). Но при запуске из python скрипта выдает ошибку.

Оффлайн destinyend

  • Начинающий
  • *
  • Сообщений: 6
settings.py django
DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.mysql',
        'NAME': 'lab3_db',
        'USER': 'django',
        'PASSWORD': 'pass',
        'HOST': 'localhost',
        'PORT': '',
        'OPTIONS': {'charset': 'utf8mb4'},
    }
}


Оффлайн destinyend

  • Начинающий
  • *
  • Сообщений: 6
Уточнение: у меня есть скрип выгружающий db боевого сервера на рабочую машину. И отрабатывает он нормально. Но сами штатные команды django  (makemigration, migrate, runserver, etc) вылетают с ошибкой. Хотя настройки подключения к бд берутся из одного места. Хоть убейте, не понимаю что не так.

Оффлайн Skull

  • Глобальный модератор
  • *****
  • Сообщений: 19 908
    • Домашняя страница
    • Email
Убрать skip-networking.
Андрей Черепанов (cas@)

Оффлайн destinyend

  • Начинающий
  • *
  • Сообщений: 6
/etc/my.conf.d/server.conf
пробовал закомментить skip-networking, выставлял 0 / false - нет результата. Из комментария в server.conf следует, что данная опция недолжна влиять на мой случай, база и клиент на одном хосте

Оффлайн destinyend

  • Начинающий
  • *
  • Сообщений: 6
Частично решил вопрос.
В settings.py проекта django указал полный путь до сокета.
DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.mysql',
        'NAME': 'lab3_db',
        'USER': 'django',
        'PASSWORD': 'password',
        'HOST': '/var/lib/mysql/mysql.sock',
        'PORT': '',
        'OPTIONS': {'charset': 'utf8mb4'},
    }
}

Так как считаю нелогичным везде теперь указывать путь, посмотрел где сокет находиться на убунту,  попробовал создать симлинк ln -s /var/lib/mysql/mysql.sock /var/run/mysqld/mysqld.sock - так не работает. Идеи?