• ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO): что делать?

    @lexadef
    Это может быть, если пароль не был задан при установке.

    Порядок действий для установки/смены пароля root в mysql следующий:

    1. Остановить mysql:
    sudo service mysql stop

    2. Запустить сервис со следующими параметрами:
    sudo mysqld --skip-grant-tables --user=root

    Если выдал ошибку то в файле /etc/mysql/mysql.conf.d/mysqld.cnf в секцию [mysqld] добавить строчкуskip-grant-tables и выполнить sudo service mysql restart

    3. После этого подключиться к mysql командой:
    mysql -u root

    4. Обновить пароль root'a:
    UPDATE mysql.user SET authentication_string=PASSWORD('<новый пароль>'), plugin='mysql_native_password' WHERE User='root' AND Host='localhost';    
    FLUSH PRIVILEGES;


    5. И перезапустить сервис:
    sudo service mysql restart
    Если на шаге 2 вы добавляли skip-grant-tables в /etc/mysql/mysql.conf.d/mysqld.cnf - удалить эту строчку.


    Подробнее в Русскоязычной документации Ubuntu
    Ответ написан
    3 комментария
  • Как победить «Raw query must include the primary key» в Django?

    Sergei_Erjemin
    @Sergei_Erjemin Автор вопроса
    Улыбайся, будь самураем...
    Непонятно почему, но срабатывает так:
    q_filial = TbPeople.objects.raw("SELECT DISTINCT web_tbpeople.szFilial, 1 AS id "
                                    "FROM web_tbpeople ORDER BY web_tbpeople.szFilial;")


    Ну и еще, надо следить какое поле -- первичный ключ. В моем случае ключ был szID и это строковая переменная. Таким образом для моего случая рабочий код вот такой:
    q_filial = TbPeople.objects.raw("SELECT DISTINCT web_tbpeople.szFilial, '1' AS szID "
                                    "FROM web_tbpeople ORDER BY web_tbpeople.szFilial;")


    !!!ПРИ ЭТОМ, ЕСЛИ НЕ СОЗДАВАТЬ ВТОРОГО ФИКТИВНОГО ПОЛЯ С КЛЮЧОМ, ТО УЖЕ НЕРАБОТАЕТ!!! НАПРИМЕР ВОТ ТАК:
    q_filial = TbPeople.objects.raw("SELECT DISTINCT web_tbpeople.szFilial AS szID"
                                    "FROM web_tbpeople;")

    !!ПАДАЕТ!!
    Ответ написан
    2 комментария
  • Как пробросить порт с хоста внутрь docker контейнера?

    Qwentor
    @Qwentor Автор вопроса
    Веб-программист
    В общем решение оказалось простым:
    docker run --name 10.1.23-mariadb --net=host -v /opt/test/mariadb:/var/lib/mysql -v /opt/test/mariacnf:/etc/mysql/conf.d -e MYSQL_ROOT_PASSWORD=password -d mariadb:10.1.23


    Т.е. как я и предполагал через --net=host - таким образом контейнер работает в сети хоста и нет нужды что-то редиректить. /etc/mysql действительно не пробрвсывается для изменения my.cnf, зато спокойно пробрасывается /etc/mysql/conf.d, а в нем файл mariadb.cnf, в котором и прописывается изменение порта на 3308.

    Проблема решена.
    Ответ написан
    Комментировать
  • Docker разработка внутри контейнера?

    как вносить изменения в проект при запущенном контейнере

    Залинкуйте директорию в папке проекта с директорией в докер-контейнере. Если используете docker-compose, то делается так:
    version: '3.4'
    services:
      app:
        volumes:
          - ./app:/app/app
          - ./frontend:/app/frontend

    В моем примере все изменения в директории /app будут подтягиваться в директорию /app/app докер-контейнера; а все изменения во /frontend - в директорию /app/frontend соответственно.

    Для самого docker'a делается примерно так же, конкретную команду не помню.
    Ответ написан
    1 комментарий
  • Установка PostgreSQL. Как настроить pg_hba.conf и postgresql.conf?

    Xuxicheta
    @Xuxicheta
    инженер
    Во-первых сам постргес то работает?
    systemctl status postgresql
    Во-вторых убери или поставь в trust
    local   all             postgres                                all

    Нет такого типа авторизации all
    https://postgrespro.ru/docs/postgrespro/9.6/auth-p...
    Ответ написан
    3 комментария