Программы
Решаем проблему ERROR 1348 column password is not updatable при обновлении пароля root в MySQL / MariaDB

Решаем проблему ERROR 1348 column password is not updatable при обновлении пароля root в MySQL / MariaDB

В MySQL есть временами непонятные ограничения, которые не позволяют привычным нам образом его использовать. Однако, если разобраться, то всё начинает иметь смысл.

Очевидно, что смена пароля супер-пользователя должна быть особо безопасной, чтобы случайно кто-то не смог получить прав, с которыми он может натворить много бед. Так что обычный UPDATE нам не подходит:

mysql> UPDATE mysql.user SET Password=PASSWORD('s3cr3t') WHERE User='root';
ERROR 1348 (HY000): Column 'Password' is not updatable

Поэтому нам нужна команда, которая на которую можно настроить иные привелегии, ведь право обновления значений в таблице mysql.user может быть и у других пользователей, обслуживающих данный сервер. С другой стороны обновлять структуру таблицы mysql.user обычно не надо, более того – это довольно важное и ответственное действие. Поэтому именно изменением таблицы или же ALTER-ом можно изменить пароль пользователя root.

ALTER USER 'root'@'localhost' IDENTIFIED BY 's3cr3t';

После чего не забываем обновить привелегии на нашем MySQL или MariaDB сервере:

flush privileges;

Вот так занятно придумали разработчики MySQL/MariaDB решить вопрос с правами на смену пароля root-а.

Также может быть вам интересно:

Решаем проблему ERROR 1372 (HY000): Password hash should be a 41-digit hexadecimal number и Error Code: 1064 в MySQL / MariaDB

MySQL и её новая сестричка из мира СПО – MariaDB довольно сильно распространены на хостингах, да и LAMP никто не отменял – пользуются ещё. Так вот не так давно стала возникать эта ошибка. Как её чинить? В этой заметке.

Читать »

Лучше плохо, но сейчас. Взгляд на пути развития ПО

Сейчас такие языки как Perl и Ruby чувствуют себя не лучшим образом. Но ещё 10 – 15 лет назад они были на "гребне волны".

Читать »
Фото Как сделать свою middleware в Django (с примерами)

Как сделать свою middleware в Django (с примерами)

Middleware или "промежуточное программное обеспечение" - элегантный способ установить общие правила обработки запросов и ответов приложения. Давайте напишем парочку middleware, чтобы понять, как они работают.

Фото Как настроить отправку почты из Django

Как настроить отправку почты из Django

Письма об ошибках, отчёты на почту, восстановление паролей - всё это полезно при работе с сайтом. Django предоставляет удобный способ это сделать с минимумом настроек!

Фото Добавляем поддержку медиа-файлов в Django проект

Добавляем поддержку медиа-файлов в Django проект

Современные сайты редко ограничиваются только текстом и вёрсткой. Часто в заметках красуются фотографии, а рядом с описанием товаров - их изображения.

Фото Настройка журналирования (логирования) в Python с примерами

Настройка журналирования (логирования) в Python с примерами

Во время работы программы часто нужно сохранять некоторые важные записи о процессе выполнения команды. В Python есть довольно мощный модуль для работы с логами - давайте разберёмся с тем, как его использовать.

Фото Панель администрирования Django - настройка вида (шаблона)

Панель администрирования Django - настройка вида (шаблона)

Простой способ подключить админку к сайту на Django, как сконфигурировать адмиин-панель, как изменить оформление администрационной панели Django фреймворка.

Фото Панель администрирования Django - подключение, настройка, поиск, фильтрация

Панель администрирования Django - подключение, настройка, поиск, фильтрация

Простой способ подключить админку к сайту на Django, как сконфигурировать адмиин-панель и добавить функциональность поиска, массовых действий, как изменить оформление администраторской панели Django фреймворка.

Фото И снова sudo, и снова "решето"

И снова sudo, и снова "решето"

В утилите sudo была исправлена очередная уязвимость.

Фото Google прекращает поддержку сторонних приложений в API Chrome-like

Google прекращает поддержку сторонних приложений в API Chrome-like

Гугл отключает всех пользователей Chrome-зависимых API. Зачем? К чему это приведёт?