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

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

Довольно часто происходит такая ситуация, что пароль для учетной записи root в MySQL необходимо восстановить, поменять или сбросить. Хорошо, если он известен, но бывают случаи, когда пароль был утерян или неизвестен с самого начала. В данной статье пойдет речь о том, как этот пароль восстановить, имея доступ к серверу, на котором запущен mysql-server для обоих случаев, когда пароль о учетной записи root ИЗВЕСТЕН и НЕ ИЗВЕСТЕН.

Как поменять пароль root в MySQL

Если пароль root ИЗВЕСТЕН

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

1) Подключаемся в консоль MySQL сервера с правами root (не забываем ввести пароль, после появления соответствующего запроса):

2) Меняем пароль для пользователя root:

Для MySQL версий 5.7.6 и новее (5.7.7, 5.7.8. )

Для MySQL версий 5.7.5 и старее (5.7.4, 5.7.3. )

NEW_PASSWORD — это пароль, который вам необходимо поменять на свой собственный.
В результате выполнения данной команды, мы должны получить вот такой вывод в консоли:

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

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

3) Перезагружаем привилегии, чтобы изменения вступили в силу:

4) Для выхода из консоли MySQL сервера выполняем команду выхода:

После этого, пароль должен поменяться.

Если пароль root НЕ ИЗВЕСТЕН

Если вы не знаете текущий пароль root (потеряли, забыли) в MySQL, то придется пойти чуть более сложным путем, чем описанные действия выше:

1) Останавливаем mysqld:

2) Проверяем, что нет запущенных процессов mysqld:

Если все нормально, то вывод команды должен состоять лишь из одной строки, примерно такого содержания:

3) Создаем каталог /var/run/mysqld для запуска mysqld в safe режиме из консоли

4) Делаем владельцем данного каталога пользователя mysql (чтобы не было проблем с правами)

5) Запускаем MySQL в ручном режиме из консоли, пропуская проверку прав (опция —skip-grant-tables). А также отключаем доступ к серверу через TCP/IP (с помощью опци и —skip-networking), чтобы злоумышленник не мог воспользоваться тем, что мы отключили проверку прав пользователей. При использовании данной опции, доступ к серверу становится возможным только через localhost.

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

6) Подключаемся из консоли к серверу mysqld и выбираем базу данных mysql:

7) Используем плагин mysql_native_password, иначе в некоторых случаях будем получать ошибку "ERROR 1524 (HY000): Plugin ‘auth_socket’ is not loaded", а нам это не нужно:

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

8) Перезагружаем привилегии:

9) Меняем пароль для нужного пользователя, в нашем случае это root:

Для MySQL версий 5.7.6 и новее (5.7.7, 5.7.8. )

Для MySQL версий 5.7.5 и старее (5.7.4, 5.7.3. )

NEW_PASSWORD — это пароль, который вам необходимо поменять на свой собственный.
В результате выполнения данной команды, мы должны получить вот такой вывод в консоли:

Читайте также:  Как настроить ватсап в инстаграм

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

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

9) После чего, вводим команду exit для отключения:

10) Выключаем запущенный в ручном режиме Mysqld сервер:

Если все пройдет успешно, то вывод должен быть примерно таким:

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

11) Проверяем, что нет запущенных процессов mysqld:

12) Запускаем Mysql-server в нормальном режиме:

И пытаемся подключиться к нашему серверу с новым паролем, который мы установили.

После того, как пароль root пользователя [1] MySQL установлен, его можно изменить. Наиболее простой способ следующий:

  • Подключиться по SSH к виртуальному серверу;
  • Подключиться к MySQL как пользователь root при помощи команды:
  • Затем нажать Enter, указать пароль и снова нажать Enter;
  • Выполнить следующие команды:

После этого пароль будет изменён на newpass.

Данный способ также подходит и для изменений паролей других MySQL пользователей. Для этого в вышеуказанной команде необходимо указать пользователя, для которого меняется пароль (например, вместо root@localhostdovecot@localhost) и новый пароль.

Сброс root-пароля в случае его утери

Если mysql root-пароль был утерян, его можно сбросить следующим образом:

  • Подключаемся к VPS с правами root.
  • Останавливаем mysql-сервер.

На Debian/Ubuntu для остановки mysql-сервера используется команда

  • Далее выполняем команду:
  • Результат выполнения команды будет примерно следующим:
  • Подключаемся к mysql с правами root. Поскольку mysql запушен в безопасном режиме, пароль для входа не требуется:
  • Выбираем базу данных mysql:
  • Устанавливаем новый mysql root-пароль командой:
  • Перезагружаем привилегии:
  • Отключаемся от mysql:
  • Останавливаем и затем вновь запускаем сервер MySQL командами:
  • Пробуем подключиться к mysql с новым установленным паролем:

На этом процесс восстановления пароля завершен.

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

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

В статье я буду использовать Ubuntu и MariaDB, но эта инструкция подойдёт и для других дистрибутивов. В командах с systemctl для Mariadb следует использовать mariadb, а для MySQL — mysql или mysqld.

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

При запуске сервиса MySQL можно указать файл, из которого будут выполнены команды sql сразу после запуска. Адрес этого файла указывается опцией —init-file. Но сначала давайте создадим файл, который будет изменять файл нашего пользователя:

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

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

sudo systemctl stop mysql

sudo systemctl stop mariadb

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

Читайте также:  Водоблок для видеокарты gtx 1070

sudo mysqld —user=mysql —init-file=/home/sergiy/init-file.txt —console

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

sudo kill -TERM 5356

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

sudo systemctl start mariadb

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

Кроме того, есть и другой способ сбросить пароль MySQL. Мы можем запустить сервис с параметром —skip-grant-tables. В этом режиме программа пропускает загрузку данных о пользователях и тогда вы можете авторизоваться без ввода пароля. Аналогично, сначала нужно остановить сервис:

sudo systemctl stop mariadb

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

sudo mysqld —user=mysql —skip-grant-tables

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

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

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

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

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

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

sudo kill -TERM 5356

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

sudo systemctl start mariadb

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

sudo mysql -u root -p

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

Выводы

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

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

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

Об авторе

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

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

Losst, здравствуйте. Извиняюсь за некорректно написанную просьбу (и не в теме), но облазив всю сеть ухитрился проморгать пошаговую настройку убунту на слабом ноутбуке (пользуюсь Тошибой 2005 года выпуска, на Пент4 (дискретный видео), 1,7 гига с 2г озу), хотя в характеристиках пользования линукс указывается развёртывание оси на более меньшей оперативе. Если Вас не затруднит посвятить раздел собственно настройки системы на минимальных характеристиках: сама ось, браузер и минимум программ — офис, плейер, и там по мелочи, без программ требующих особых соответствий ядра и видеокарты..
С уважением.

Поставьте Debian последней версии. Если что-то будет не так с уставкой на Ваш компьютер, то будет видны все проблемы. Debian — это основа UBUNTU. UBUNTU — это производная от Debian. Debian всегда стабилен в отличие от UBUNTU, поверьте .

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

Читайте также:  Красивые фото в домашней обстановке

Не понимаю понятия легче или тяжелее. Что это значит — не понимаю!
Многие говорят, что окружение KDE — тяжёлое, о GNOME — лёгкое. Не пойму чем это утверждение обосновано? Пробовал оба окружения. Процессор тратит столько же энергии в обоих окружениях. Нагревается также одинаково. Время загрузки ОС зависит от настройки. Здесь мне вообще не понятно это утверждение. Бред какой-то!

Дебиан стабилен. Убунту сделан на основе Дебиан. В Убунту многое не стабильно работает. В Дебиане, пока пакет (программу) полностью не протестируют, она не попадает в стабильную ветку дистрибутива.
Учиться работать на Linux с основой Дебиан — лучше на самом Дебиан.
Здесь, Вы разберётесь что, да как. Много поймёте для всех вопросов, которые будут возникать с другими дистрибутивами. Далее, мне так кажется, когда разберётесь — Вы станете пользоваться только Debian.
По поводу Вашего компьютера, всегда можно найти кучу информации, как на него установить полностью ОС Дебиан (Яндекс или Гугл Вам в помощь). Официальный сайт Дебиан — https://www.debian.org/
Часто задаваемые вопросы о Debian GNU/Linux — https://www.debian.org/doc/manuals/debian-faq/
Образы для установки — https://www.debian.org/CD/live/index.ru.html
Ещё есть много форумов, где Вы сможете задавать свои вопросы.

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

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

А, вот как правильно уставить пароль в Krbf для KDE, чтобы потом проблем не было с доступом — это с удовольствием посмотрел!

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

После установки MySQL 5.7.26 под управлением Ubuntu 18.04, пришло резкое понимание того, что залогиниться в mysql из-под текущего пользователя с учетной записью root не получится, никаких манипуляций с пользователями и правами провернуть не получиться. Потому что только root и только unix socket и никаких паролей.
Для успешного входа и манипуляций с mysql потребуется выполнить sudo mysql -u root или предварительно авторизоваться в системе как root и выполнить mysql -u root.
Честно говоря не вижу смысла менять способ авторизации mysql-пользователя root с сокета на пароль, создавать и вводить его, а потом этот самый пароль ещё и сбрасывать. Существующие настройки довольно безопасны: авторизация root (mysql) возможна только с localhost, прикрыть системный root по SSH (если SSH используется) тоже не проблема.
Лучше настроить дополнительных mysql-пользователей, например для использования phpmyadmin создать пользователя с таким же именем — phpmyadmin — и правами, что и у root, и авторизацией по паролю. После этого можно авторизоваться от имени любого пользователя сиcтемы, зная пароль phpmyadmin, но лучше создать каждому пользователю системы своего пользователя mysql с необходимыми правами, а еще лучше не создавать =).

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

Ссылка на основную публикацию
Как сделать кроссворд в ворде 2010
Пользоваться файлами, созданными в MS Office, можно как угодно: открыть документ Ворд онлайн, составить в Экселе квартальный отчёт или в...
Как поставить старую версию скайпа
Программа Skype, как и любой другой активно развивающийся софт, постоянно обновляется. Однако не всегда новые версии выглядят и работают лучше...
Как поставить фотографию на контакт в андроид
На любом смартфоне реализована возможность установки изображения на телефонный контакт. Оно будет отображаться при поступлении входящих звонков от этого контакта...
Как сделать местный разрез
Основным назначением видов является определение формы внешних поверхностей предмета. Выявление на видах формы внутренних поверхностей при помощи штриховых линий не...
Adblock detector