Как восстановить пароль root mysql

ИТ База знаний

Полезно

— Онлайн генератор устойчивых паролей

— Онлайн калькулятор подсетей

— Руководство администратора FreePBX на русском языке

— Руководство администратора Cisco UCM/CME на русском языке

— Руководство администратора по Linux/Unix

Навигация

Серверные решения

Телефония

FreePBX и Asterisk

Настройка программных телефонов

Корпоративные сети

Протоколы и стандарты

Как сбросить root пароль на MySQL?

Keep calm and reset your password

Может так случиться, что вы забудете или потеряете свой root пароль MySQL, но не стоит отчаиваться – его можно сбросить и восстановить доступ. Что нам нужно знать так это то, что пароль хранится в таблице пользователей. Это означает, что нам нужно найти способ обойти аутентификацию MySQL, чтобы мы могли обновить запись пароля.

Как восстановить пароль root mysql. Смотреть фото Как восстановить пароль root mysql. Смотреть картинку Как восстановить пароль root mysql. Картинка про Как восстановить пароль root mysql. Фото Как восстановить пароль root mysql

К счастью, это легко сделать, и это руководство проведет вас через процесс восстановления или сброса пароля root в версии MySQL 8.0.

Согласно документации по MySQL, существует два способа сброса корневого пароля MySQL и в этой статье мы рассмотрим оба.

Как восстановить пароль root mysql. Смотреть фото Как восстановить пароль root mysql. Смотреть картинку Как восстановить пароль root mysql. Картинка про Как восстановить пароль root mysql. Фото Как восстановить пароль root mysql

Сброс MySQL root пароля с использованием –init-file

Важно убедиться, что файл доступен для чтения пользователю mysql. В этот файл вставьте следующее и измените «new_password» на пароль, который вы хотите использовать:

Теперь убедитесь, что служба MySQL остановлена. Вы можете сделать следующее:

Далее запустите следующее:

Это запустит службу MySQL и во время процесса выполнит созданный вами файл инициализации, и, следовательно, пароль для пользователя root будет обновлен. Обязательно удалите файл после сброса пароля.

После этого обязательно остановите сервер и запустите его как обычно.

Теперь вы должны иметь возможность подключиться к серверу MySQL от имени пользователя root, используя новый пароль.

Сброс MySQL root пароля с использованием –skip-grant-tables

Сначала убедитесь, что служба MySQL остановлена.

Затем запустите службу с помощью следующей опции.

Теперь вы можете подключиться к серверу MySQL, просто используя:

Теперь вы можете выполнить следующий запрос, чтобы обновить пароль. Обязательно замените «new_password» реальным паролем, который вы хотите использовать.

Теперь остановите сервер MySQL и запустите его как обычно.

Теперь вы сможете подключиться с новым паролем:

Онлайн курс по Linux

Мы собрали концентрат самых востребованных знаний, которые позволят тебе начать карьеру администратора Linux, расширить текущие знания и сделать уверенный шаг к DevOps

Источник

Как сбросить пароль пользователя root в СУБД MySQL или MariaDB на ОС Ubuntu 20.04

2023 просмотров 8 2021-03-18 2021-04-07

Введение

Как восстановить пароль root mysql. Смотреть фото Как восстановить пароль root mysql. Смотреть картинку Как восстановить пароль root mysql. Картинка про Как восстановить пароль root mysql. Фото Как восстановить пароль root mysql

В этой статье мы расскажем, как можно решить проблему, когда вы забыли или потеряли пароль root от MySQL или MariaDB. Отчаиваться не стоит, так как его можно сбросить, если иметь доступ к серверу и учетную запись пользователя операционной системы с привилегиями root. Данное руководство было протестировано в операционной системе Ubuntu 20.04 на двух популярных СУБД – MySQL и MariaDB.

Шаг 1 – Определяем версию и останавливаем сервер базы данных.

Необходимы различные действия для сброса root пароля в зависимости от того, какая СУБД у нас установлена – MySQL или MariaDB. Для того, чтобы определить, какой сервер базы данных установлен в системе вводим:

Если используется MariaDB, то в выводе получим следующее: (разумеется, версия БД может меняться)

Чтобы произвести сброс root-пароля в MySQL или MariaDB, нам необходимо остановить сервер базы данных.

Для MariaDB:

Для MySQL:

После остановки базы данных производим ее перезапуск в безопасном режиме для сброса пароля root.

Шаг 2 – Перезапускаем сервер базы данных в режиме –skip-grant-tables

Настройка режима –skip-grant-tables для MariaDB

Зададим переменную окружения MYSQLD_OPTS, используемую в MariaDB при запуске:

Запустим сервер БД:

Корректность запуска сервера смотрим командой:

Теперь подключаемся к базе данных пользователем root без пароля:

Подключившись к консоли MariaDB, меняем пароль root, как показано в Шаге 3 далее.

Настройка режима –skip-grant-tables для MySQL

Чтобы запустить сервер MySQL в этом режиме, изменим конфигурацию systemd для MySQL, чтобы при запуске сервер запустился с дополнительными параметрами.

После выполнения команды будет открыт новый файл в nano-редакторе, где мы будем внесем необходимые параметры запуска сервера MySQL. Изначально файл будет пустым. Добавим следующие строки:

Нажимаем CTRL-X, чтобы выйти из файла, затем – Y, чтобы сохранить внесенные изменения. Перезагружаем systemd, чтобы перечитать изменения:

Запускаем сервер MySQL:

и подключаемся пользователем root:

Далее переходим к Шагу 3.

Шаг 3 – Изменение пароля root

Меняем пароль root для MariaDB

В строке ‘new_password’ указываем свой пароль.

Далее установим механизм аутентификации по умолчанию:

Пароль изменен. Выходим из консоли MariaDB и смотрим Шаг 4 для перезапуска сервера базы данных в штатном режиме.

Меняем пароль root для MySQL

Для MySQL выполняем следующий запрос, заменив new_password на свой пароль. MySQL позволяет использовать настраиваемые механизмы аутентификации, поэтому добавляем инструкцию, указывающую MySQL использовать механизм аутентификации по умолчанию:

Выходим из консоли MySQL и запускаем базу данных в нормальном режиме.

Шаг 4 – Запускаем сервер базы данных в штатном режиме.

Чтобы перезапустить сервер базы данных в штатном режиме, выполним следующие действия:

Для MariaDB

Удаляем переменную окружения MYSQLD_OPTS:

и перезапускаем сервер MariaDB:

Для MySQL

Удаляем все изменения конфигурации демона systemd для MySQL:

Вывод должен быть примерно таким:

Затем перезагружаем демон systemd:

После этого база данных должна перейти в нормальное состояние. Пробуем подключится к серверу базы данных пользователем root с новым паролем:

Источник

Сброс пароля root в MySQL

Для доступа к базе данных MySQL или MariaDB нужно ввести имя пользователя и пароль. Во время установки автоматически создаётся учётная запись пользователя root. Это аналог суперпользователя в Linux для MySQL. Он может выполнять все действия со всеми базами данных, а также создавать и удалять других пользователей.

Обычно, пароль для него не устанавливается, и вы можете задать его вручную уже после завершения установки. Но если вы забыли пароль или он был установлен автоматически, но вы его не знаете, то вам может понадобится его сбросить. Это можно сделать несколькими способами. В этой статье мы разберём, как выполняется сброс пароля root MySQL.

1. Сброс пароля с помощью init-file

UPDATE mysql.user SET password=password(‘новый пароль’) WHERE user=’root’;

Как восстановить пароль root mysql. Смотреть фото Как восстановить пароль root mysql. Смотреть картинку Как восстановить пароль root mysql. Картинка про Как восстановить пароль root mysql. Фото Как восстановить пароль root mysql

Затем остановите сервис, если он запущен:

sudo systemctl stop mysql

sudo systemctl stop mariadb

Как восстановить пароль root mysql. Смотреть фото Как восстановить пароль root mysql. Смотреть картинку Как восстановить пароль root mysql. Картинка про Как восстановить пароль root mysql. Фото Как восстановить пароль root mysql

Теперь осталось выполнить наш файл:

Как восстановить пароль root mysql. Смотреть фото Как восстановить пароль root mysql. Смотреть картинку Как восстановить пароль root mysql. Картинка про Как восстановить пароль root mysql. Фото Как восстановить пароль root mysql

Подождите минуту, чтобы всё успело сработать как нужно, а затем остановите этот процесс. В консоли команда сообщит started as proccess и PID процесса, этот PID нам и нужен, чтобы его остановить. Например:

Как восстановить пароль root mysql. Смотреть фото Как восстановить пароль root mysql. Смотреть картинку Как восстановить пароль root mysql. Картинка про Как восстановить пароль root mysql. Фото Как восстановить пароль root mysql

Далее запустите mysql обычным способом и попробуйте войти со своим новым паролем:

sudo systemctl start mariadb

Сброс пароля с помощью skip-grant-tables

sudo systemctl stop mariadb

Затем запустите mysql вручную с помощью такой команды:

Как восстановить пароль root mysql. Смотреть фото Как восстановить пароль root mysql. Смотреть картинку Как восстановить пароль root mysql. Картинка про Как восстановить пароль root mysql. Фото Как восстановить пароль root mysql

Войдите в консоль управления mysql:

Как восстановить пароль root mysql. Смотреть фото Как восстановить пароль root mysql. Смотреть картинку Как восстановить пароль root mysql. Картинка про Как восстановить пароль root mysql. Фото Как восстановить пароль root mysql

Так как мы загрузились без таблиц привелегий пользователей, то эти таблицы необходимо подгрузить сейчас:

Как восстановить пароль root mysql. Смотреть фото Как восстановить пароль root mysql. Смотреть картинку Как восстановить пароль root mysql. Картинка про Как восстановить пароль root mysql. Фото Как восстановить пароль root mysql

Теперь можно сменить пароль для пользователя root:

UPDATE mysql.user SET password=password(‘новый пароль’) WHERE user=’root’;

Как восстановить пароль root mysql. Смотреть фото Как восстановить пароль root mysql. Смотреть картинку Как восстановить пароль root mysql. Картинка про Как восстановить пароль root mysql. Фото Как восстановить пароль root mysql

Затем закройте консоль клиента mysql:

Завершите запущенный вручную сервис, таким же образом как в предыдущем пункте:

И запустите mysql в нормальном режиме:

sudo systemctl start mariadb

Дальше вы можете авторизоваться от имени суперпользователя по этому паролю:

Но, нужно отметить, что для последних версий MariaDB это уже не нужно, так как программа поддерживает авторизацию без пароля если имя пользователя базы данных и имя учетной записи в системе совпадают. Поэтому, если вы хотите войти под root в консоль MySQL, достаточно запустить клиент через sudo.

Выводы

В этой статье мы рассмотрели, как выполняется сброс пароля MySQL Ubuntu. Разработчики постоянно что-то меняют в коде сервиса, поэтому в последних версиях команды ALTER USER или SET PASSWORD могут не работать. Поэтому мы используем универсальную команду UPDATE. Надеюсь, эта информация была для вас полезной.

Нет похожих записей

Оцените статью:

Об авторе

Основатель и администратор сайта losst.ru, увлекаюсь открытым программным обеспечением и операционной системой Linux. В качестве основной ОС сейчас использую Ubuntu. Кроме Linux, интересуюсь всем, что связано с информационными технологиями и современной наукой.

8 комментариев

Андрей, день добрый. Дебиан легче чем Лубунту или нужно искать определённую сборку?

Не было ни одного компьютера, на который я бы не поставил Дебиан.
Всё зависит от Вашего хотения. Может у Вас Дебиан сразу поставиться нормально. А, может придётся установить дополнительно пакеты с программами.

—skip-grant-tables прекрасно работает из конфигурационного файла.
вот не надо делать базе kill

Или, как убрать шипение микрофона в Linux при использовании PulseAudio, это когда звук пишешь. То же, хотелось бы узнать правильную информацию!

В базе mysql пароли хранятся в зашифрованном виде, оператор UPDATE просто заменяет данный в таблице, то есть командой update нужно вставлять зашифрованные пароли.

Источник

Как сбросить пароль root MySQL или MariaDB в Windows

Если у вас Linux, то смотрите статью «Как сбросить пароль root для MySQL или MariaDB».

Пароль пользователя root спрашивается во время установки СУБД. Если установка делалась вручную, то есть без инстолятора, как это описано, например, в этой статье, то пароль может быть не установлен вовсе.

Если вы используете какие-то готовые сборки, которые включают в себя MySQL/MariaDB, то обратитесь за паролем на официальные сайты этих сборок. Также попробуйте такие учётные данные:

Если вы действительно забыли пароль MySQL/MariaDB и вам нужно сбросить пароль root в MySQL на Windows, то данная статья расскажет, как это сделать.

Шаг 1 — Определяем версию системы управления базой данных

Найдите, в какой папке у вас расположен файл mysqld.exe. При установке по данной инструкции, этот файл расположен в папке C:\Server\bin\mysql-8.0\bin\.

Откройте командную строку. Нам понадобятся права администратора, поэтому делаем следующее: нажмите Win+x и там выберите Windows PowerShell (администратор):

Как восстановить пароль root mysql. Смотреть фото Как восстановить пароль root mysql. Смотреть картинку Как восстановить пароль root mysql. Картинка про Как восстановить пароль root mysql. Фото Как восстановить пароль root mysql

Теперь перейдите в командной строке в директорию с файлом mysqld.exe, для этого используйте команду вида:

Например, у меня это папка C:\Server\bin\mysql-8.0\bin\, тогда команда такая:

Нужно определить версию MySQL/MariaDB, для этого выполните команду:

Как восстановить пароль root mysql. Смотреть фото Как восстановить пароль root mysql. Смотреть картинку Как восстановить пароль root mysql. Картинка про Как восстановить пароль root mysql. Фото Как восстановить пароль root mysql

Шаг 2 — Остановка сервера базы данных

Для изменения пароля root вы должны заранее отключить сервер базы данных. Для MySQL и MariaDB вы можете сделать это командой:

После того, как сервер остановлен, вы вручную получите к нему доступ для сброса пароля рута.

Шаг 3 — Перезапуск сервера базы данных без проверки разрешений

Если вы запускаете MySQL и MariaDB без загрузки информации о привилегиях пользователя, она позволит вам без ввода пароля получить доступ к командной строке базы данных с привилегиями рута. Это позволит вам получить доступ к базе данных без знания парольной фразы. Чтобы это сделать, вам нужно не дать базе данных загрузить таблицы привилегий, которые содержат информацию о привилегиях пользователя. Поскольку это несёт риск безопасности, вы также должны избежать сетевой активности, чтобы не допустить подключения других клиентов.

Запустите базу данных без загрузки таблиц привилегий и без доступа к сети:

Программа НЕ должна завершить работу, то есть теперь в это окно командной строки ничего нельзя ввести.

Шаг 4 — Смена пароля рута

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

Открываем новое окно командной строки, можно без прав администратора.

Опять переходим в нужную папку

И подключаемся к серверу MySQL/MariaDB

Вы сразу же увидите приглашение оболочки базы данных. Приглашение командной строки MySQL:

Теперь, когда у вас имеется рут доступ, вы можете изменить пароль рута.

Как восстановить пароль root mysql. Смотреть фото Как восстановить пароль root mysql. Смотреть картинку Как восстановить пароль root mysql. Картинка про Как восстановить пароль root mysql. Фото Как восстановить пароль root mysql

Простым способом смены пароля рута для современных версий MySQL является использование запроса ALTER USER. Тем не менее эта команда не будет работать прямо сейчас, поскольку таблицы привилегий не загружены. Давайте скажем серверу баз данных перегрузить таблицы привилегий введя команду:

Теперь действительно мы можем поменять пароль рута.

Для MySQL 5.7.6 и новее, а также для MariaDB 10.1.20 и новее используйте следующую команду:

Для MySQL 5.7.5 и старее, а также для MariaDB 10.1.20 и старее используйте:

Не забудьте поменять новый_пароль на выбранный вами новый пароль.

Примечание: если команда ALTER USER не работает, то это обычно является признаком более серьёзной проблемы. Тем не менее вместо этой вы можете попробовать UPDATE … SET для сброса root пароля:

После этого не забудьте перегрузить таблицы привилегий:

В любом случае вы должны видеть подтверждение, что команда успешно выполнена. Вывод:

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

Шаг 5 — Обычный перезапуск сервера базы данных

Для начала, остановите экземпляр сервера базы данных, который вы запустили вручную на Шаге 3. Для этого перейдите в окно с запущенной mysqld и нажмите Ctrl+c.

Затем перезапустите сервис обычным образом:

Теперь вы можете подтвердить, что новый пароль работает, запустите:

Эта команда должна вызвать приглашение в который нужно ввести новый пароль. Введите его, вы должны получить доступ к интерфейсу командной строки базы данных, как это обычно и происходит.

Как восстановить пароль root mysql. Смотреть фото Как восстановить пароль root mysql. Смотреть картинку Как восстановить пароль root mysql. Картинка про Как восстановить пароль root mysql. Фото Как восстановить пароль root mysql

Заключение

Теперь вы восстановили административный доступ к серверу MySQL или MariaDB. Убедитесь, что новый пароль рута, который вы выбрали, безопасный и храните его в надёжном месте.

Если при запуске mysqld вы столкнулись со следующей ошибкой:

то вам необходимо к команде запуска mysqld добавить флаг —shared-memory.

Источник

Как сбросить пароль root для MySQL или MariaDB

Если у вас Windows, то смотрите статью «Как сбросить пароль root MySQL или MariaDB в Windows».

Позабыть пароль может каждый. Если вы забыли или потеряли пароль рута для вашей системы управления базы данных MySQL или MariaDB вы всё равно можете получить доступ и сбросить пароль, если у вас есть доступ к серверу и вашему пользователю разрешено выполнять команды с sudo (или просто аккаунт рута).

Эта инструкция охватывает сброс пароля root как для более старых, так и для новых версий MySQL и MariaDB.

Шаг 1 — Определяем версию системы управления базой данных

Самые современные дистрибутивы Linux поставляются с MySQL или MariaDB, последняя является полностью совместимой заменой MySQL. В зависимости от используемой СУБД и её версии, вам нужно использовать различные команды для восстановления пароля рута.

Вы можете проверить вашу версию следующей командой:

Для MySQL вы увидите что-то вроде:

Для MariaDB вывод будет примерно таким:

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

Шаг 2 — Остановка сервера базы данных

Для изменения пароля root вы должны заранее отключить сервер базы данных.

Для MySQL и MariaDB вы можете сделать это:

После того, как сервер остановлен, вы вручную получите к нему доступ для сброса пароля рута.

Шаг 3 — Перезапуск сервера базы данных без проверки разрешений

Если вы запускаете MySQL и MariaDB без загрузки информации о привилегиях пользователя, она позволит вам без ввода пароля получить доступ к командной строке базы данных с привилегиями рута. Это позволит вам получить доступ к базе данных без знания парольной фразы.

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

Запустите базу данных без загрузки таблиц привилегий и без доступа к сети:

Амперсант на конце этой команды сделает так, что процесс запустится в фоне, поэтому вы сможете продолжать использовать ваш терминал.

mysqld_safe Directory ‘/var/run/mysqld’ for UNIX socket file don’t exists.

Если вы видите ошибку

То выполните следующие команды:

И запустите ещё раз:

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

Вы сразу же увидите приглашение оболочки базы данных.

Приглашение командной строки MySQL:

Приглашение командной строки MariaDB:

Теперь, когда у вас имеется рут доступ, вы можете изменить пароль рута.

Шаг 4 — Смена пароля рута

Простым способом смены пароля рута для современных версий MySQL является использование запроса ALTER USER. Тем не менее, эта команда не будет работать прямо сейчас, поскольку таблицы привилегий не загружены.

Давайте скажем серверу баз данных перегрузить таблицы привилегий введя команду FLUSH PRIVILEGES.

Теперь действительно мы можем поменять пароль рута.

Для MySQL 5.7.6 и новее, а также для MariaDB 10.1.20 и новее используйте следующую команду:

Для MySQL 5.7.5 и старее, а также для MariaDB 10.1.20 и старее используйте:

Не забудьте поменять новый_пароль на выбранный вами новый пароль.

Примечание: если команда ALTER USER не работает, то это обычно является признаком более серьёзной проблемы. Тем не менее, вместо этой вы можете попробовать UPDATE … SET для сброса root пароля.

После этого не забудьте перегрузить таблицы привилегий:

В любом случае вы должны видеть подтверждение, что команда успешно выполнена. Вывод:

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

Шаг 5 — Обычный перезапуск сервера базы данных

Для начала, остановите экземпляр сервера базы данных, который вы запустили вручную на Шаге 3. Эта команда ищет PID или ID процесса для процесса MySQL или MariaDB и отправляет SIGTERM для сообщения процессу мягко выйти после завершения операций очистки.

Для MySQL и MariaDB используйте:

Затем перезапустите сервис используя systemctl.

Теперь вы можете подтвердить, что новый пароль работает, запустите:

Эта команда должна вызвать приглашение в который нужно ввести новый пароль. Введите его, вы должны получить доступ к интерфейсу командной строки базы данных, как это обычно и происходит.

Заключение

Теперь вы восстановили административный доступ к серверу MySQL или MariaDB. Убедитесь, что новый пароль рута, который вы выбрали, безопасный и храните его в надёжном месте.

Источник

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *