Comments 15
то что вы прочитали выше — яркая иллюстрация разницы между теорией и практикой
То, что я прочитал выше, уж извините за мой французский, но явная демонстрация избыточной кривизны рук. Знаете такую поговорку: "Если ничего не помогает, попробуйте почитать инструкцию."? Так вот - она для вас. И прочих специалистов, которые вместо чтения официальной документации бегут консультироваться к гуглу или чатГПТ, а потом страшно удивляются, что предложенные оттуда советы - не работают.
MySQL 8.4 Reference Manual / ... / How to Reset the Root Password
If you assigned a
root
password previously but have forgotten it, you can assign a new password. The following sections provide instructions for Windows and Unix and Unix-like systems, as well as generic instructions that apply to any system.
Специальная статья для забывчивых, именно для MySQL версии 8.4. И на этой странице в принципе нет даже такого слова, как mysqld_safe
, который существует для совершенно иных целей и решает совсем другие задачи, зато есть несколько способов выполнения задачи. Берите любой.
Я обычно рекомендую последний вариант - "Generic Instructions". Основной его плюс - не требуется создания файла с запросом на установку нового пароля, и не возникает связанных вопросов о правах доступа к такому файлу. Требуется только штатный клиент командной строки.
Если речь идет о свежей ubuntu, то есть еще /etc/mysql/debian.cnf, в котором есть в открытом виде пароль от debian-sys-maint (и он с админскими правами, из под него собственно базы разворачиваются при инсталляции и обновлении). Но если и его потеряли, то да, остается только --skip-grant-tables --skip-networking
Видимо это MySQL, который используется Gnome/KDE, либо какая-то специфика новых инсталляций Ubuntu, тк у меня этого конфига нет.
У MySQL есть несколько разных местоположений, из которых выполняется загрузка файлов настройки. См. Using Option Files. При старте просматриваются все эти местоположения, и загружаются все найденные там файлы опций, если иное не задано параметрами командной строки запуска сервиса. Отсутствие файлов в некоторых из таких местоположений, и даже самих каталогов - это нормально и штатно. Иногда даже мне попадался совет - если хотите предсказуемого поведения своего сервера, запрещайте в опциях командной строки загрузку всех настроечных файлов, кроме одного, правильного.
Сомневаюсь, что авторы Gnome/KDE пошли на форканье или допиливание MySQL - вот оно им надо?
Файл debian.cnf создаётся пакетом mysql-server (или пакетом mysql-server-8.0 в более старых убунтах)
Есть ещё вариант добавить это самое skip-grant-tables с секцию [mysqld] в конфиге. Чтобы как минимум запуском сервера с ключами не мучатся. Добавил рестартанул, сбросил пароль, закоментил, рестартанул.
Корректировка файла опций - не лучшее решение. Тем более что вы запросто можете пропустить файл настроек, который грузится позже и изменяет введённые в ваш файл настройки - и будете потом гадать, почему не сработало... Разумнее использовать именно опции командной строки, ибо их приоритет максимален, причём не исправлять существующую строку запуска службы, а скопировать её, откорректировать нужным образом, и запустить в режиме приложения - в такой форме вы в принципе не изменяете существующую схему запуска.
А ещё skip-grant-tables
весьма желательно дополнить и skip-networking
, что-бы кто-нибудь добрый чисто случайно не влез на сервер по сети, пока вы выполняете нужные вам операции.
Проект по результатам работы документируется.
Пароли от УЗ улетают в Vault. Причём сразу по их созданию. Который зарезервирован. И бэкапируется регулярно.
И да, если ничего не получается, попробуйте почитать инструкцию. Или тех документацию. А лучше книгу с фундаментальными знаниями, а не в чатГПТ вопросы закидывать.
Уверен, Вы бы не хотели, чтобы Вашего ребенка лечил врач по ответам от ИИ ....
Как сбросить пароль для MySQL в 2025м году