Ubuntu mysql изменить пароль пользователя

Обновлено: 03.07.2024

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

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

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

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

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


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

sudo systemctl stop mysql

sudo systemctl stop mariadb

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

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:


Затем закройте консоль клиента 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. Надеюсь, эта информация была для вас полезной.

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


Статья распространяется под лицензией Creative Commons ShareAlike 4.0 при копировании материала ссылка на источник обязательна.

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

Об авторе

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

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

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

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

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

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

--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 нужно вставлять зашифрованные пароли.

В этом руководстве мы покажем вам, как изменить пароль пользователя MySQL. Инструкции должны работать с любым современным дистрибутивом Linux, таким как Ubuntu 18.04 и CentOS 7.

Подготовка

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

Чтобы узнать версию сервера базы данных, введите следующую команду:

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

Или выведите такой вывод для MariaDB:

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

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

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

1. Войдите в оболочку MySQL как root.

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

Если вы не установили пароль для пользователя root MySQL, вы можете войти в систему с помощью sudo mysql .

2. Установите пароль пользователя MySQL.

Введите следующие команды, если у вас MySQL 5.7.6 и новее или MariaDB 10.1.20 и новее:

Если инструкция ALTER USER вас не работает, вы можете напрямую изменить пользовательскую таблицу:

Введите следующие команды, если у вас MySQL 5.7.5 и ранее или MariaDB 10.1.20 и ранее:

Убедитесь, что вы изменили user-name на имя пользователя, для которого хотите изменить пароль. Если пользователь подключается к серверу MySQL с другого хоста, измените localhost на удаленное имя хоста или IP-адрес.

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

Выйдите из командной строки MySQL, выполнив:

3. Подтвердите новый пароль.

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

Вам будет предложено ввести новый пароль пользователя. Введите его, и вы войдете на свой сервер MySQL.

Выводы

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

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

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

Требования для сброса пароля

  • Локальный доступ или подключение по SSH к серверу на Ubuntu Linux.
  • Предустановленная система СУБД MySQL с отсутствующим доступом.

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

План сброса

Определение версии MySQL

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

Для определения версии MySQL в терминале достаточно ввести команду:

Должен появится похожий вывод:

Строку можно сохранить в текстовом документе, чтобы не забыть версию MySQL.

Остановка сервера

Для отключения привилегий нужно остановить сервер MySQL, введя в терминале команду:

После выполнения команды процесс сервера MySQL будет приостановлен.

Отключение привилегий MySQL сервера

Отключение привилегий СУБД – исключение из процесса загрузки Grant-таблиц, которые хранят данные для авторизации пользователей (пароли и логины). Это позволит выполнить вход в MySQL без авторизации и восстановить пароль root по умолчанию.

Для начала создаётся конфигурационный файл, который изменяет параметры запуска MySQL. Для этого нужно ввести в терминале команду:

В созданный текстовой файл нужно внести следующие строки, которые ограничат загрузку Grant-таблиц и запретят выход в сеть (для обеспечения безопасности):

Для сохранения изменений в файле нужно нажать «CTRL+X», потом «Y» и подтвердить изменения нажатием «Enter».

Для применения изменений в процессе загрузки MySQL, нужно обновить конфигурацию Systemd командой:

Остаётся запустить сервер MySQL с отключенными привилегиями. Для этого в терминале вводится команда:

Изменение пароля root пользователя MySQL

Таблицы привилегий отключены и ничего не мешает выполнить вход в консоль MySQL от имени root пользователя без авторизации.

Для выполнения входа в консоль MySQL нужно ввести команду:

Авторизация должна пройти без введения пароля.

Для того чтобы сменить пароль пользователя root, нужно загрузить Grant-таблицы, введя команду в терминал MySQL:

Изменение пароля для MySQL 5.7.6 и новее

Смена пароля root пользователя в консоли MySQL выполняется последовательным введением следующих команд:

Вместо «MY_NEW_PASSWORD» вводится собственный пароль. Не стоит забывать о безопасности и ставить лёгкие пароли, так как это сыграет на руку злоумышленникам.

Изменения пароля на MySQL 5.7.5 и позднее

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

В поле «MY_NEW_PASSWORD» вводится собственный пароль.

Завершение

В случае успеха, в обоих случаях, будет получен следующий вывод:

Восстановление привилегий и запуск сервера MySQL

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

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

Проверка нового пароля

Проверить новый пароль можно, выполнив вход в консоль MySQL от имени root пользователя:

Как изменить пароль пользователя на новых версиях MySQL

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

Чтобы узнать пароль на новых версиях, достаточно в терминале ввести команду, которая запустит MySQL с правами администратора:

При получении ошибки «access denied» стоит переходить к описанному выше способу – «Сброс пароля root».

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

В поле «new_password» вводится новый пароль для пользователя root.

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

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

Подключаемся к MySQL как пользователь root при помощи команды:

Нажимаем Enter, указываем пароль и снова нажимаем Enter;

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

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

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

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

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

Подключаемся к VPS с правами root.

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

Создадим каталог /var/run/mysqld который будет использоваться mysql для хранения и доступа к файлу сокета и назначим необходимые права:

Запустим mysql со следующими параметрами:

Проверим, что процесс запущен:

Затем сбросим пароль root следующей последовательностью запросов:

Новый_root_пароль, мы установили "1111".

Завершим процесс mysqld:

Запустим службу mysql:

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

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

Запускаем mysql с ключем --skip-grant-tables в фоновом режиме :

Заходим в mysql от пользователя root (пароль запрашиваться не будет):

Меняем пароль и применяем привилегии:

На CentOS 7 для остановки mysql-сервера используем команду:

Далее выполняем команду:

Символ & в конце команды означает, что она перейдёт в фоновый режим и мы получим терминал обратно.

Подключаемся к mysql с правами root. Поскольку mysql запущен в безопасном режиме, пароль для входа не требуется:

Выбираем базу данных mysql:

Устанавливаем новый mysql root-пароль командой:

Отключаемся от mysql:

Останавливаем и затем вновь запускаем сервер MySQL командами:
Debian/Ubuntu:

Favorite

Добавить в избранное

Главное меню » Базы данных » База данных MySQL » Как изменить пароль пользователя MySQL (MariaDB)


В этой статье мы покажем вам, как изменить пароль пользователя MySQL. Инструкции должны работать с любым современным дистрибутивом Linux, таким как Ubuntu 18.04 и CentOS 7.

Предпосылки

В зависимости от версии сервера MySQL или MariaDB, которую вы используете в своей системе, вам потребуется использовать разные команды для изменения пароля пользователя.

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

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

Или вывод, как этот для MariaDB:

Обязательно запишите, какую версию MySQL или MariaDB вы используете. Если вы хотите получить список всех учетных записей пользователей MySQL, пожалуйста, проверьте это руководство.

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

Выполните шаги ниже, чтобы изменить пароль пользователя MySQL:

1. Войдите в оболочку MySQL от имени пользователя root

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

Если вы не установили пароль для пользователя root MySQL, вы можете войти в систему с помощью sudo mysql.

2. Установите пароль пользователя MySQL

  • Введите следующие команды, если у вас MySQL 5.7.6 и новее или MariaDB 10.1.20 и новее:

Если оператор ALTER USER не работает для вас, вы можете изменить пользовательскую таблицу напрямую:

Убедитесь, что вы меняете user-nameимя пользователя, на которого хотите сменить пароль. Если пользователь подключается к серверу MySQL с другого хоста, измените его localhost на имя удаленного хоста или IP-адрес.

В обоих случаях, если все пойдет хорошо, вы увидите следующий вывод:

Выйдите из командной строки MySQL, выполнив:

3. Проверьте новый пароль

Чтобы убедиться, что новый пароль был введен правильно, введите:

Вам будет предложено ввести новый пароль пользователя. Введите его, и вы войдете в свой сервер MySQL.

Заключение

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

Не стесняйтесь оставлять комментарии, если у вас есть какие-либо вопросы.

Если вы нашли ошибку, пожалуйста, выделите фрагмент текста и нажмите Ctrl+Enter.

Читайте также: