Как узнать пароль от phpmyadmin ubuntu

Обновлено: 07.07.2024

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

Примечание: Обычно в новых установках Ubuntu 18.04 конфигурация MySQL или MariaDB по умолчанию позволяет вам получить доступ к базе данных (с полными правами администратора) без пароля, если подключаться с системной учетной записи root. В этом случае сбрасывать пароль не нужно. Прежде чем приступать к восстановлению root-пароля базы данных, попробуйте обратиться к базе данных с помощью команды sudo mysql. Если это приведет к ошибке access denied, приступайте к выполнению мануала.

В этом мануале вы узнаете, как сбросить root пароль базы данных MySQL и MariaDB, установленных с помощью менеджера пакетов apt в Ubuntu 18.04. Процедура изменения пароля и конфигурация systemd по умолчанию в MySQL и MariaDB отличаются. Инструкции в этом мануале могут подойти и для других версий системы и БД, но они составлены и протестированы специально для Ubuntu 18.04 и стандартных пакетов этого дистрибутива.

Требования

Для работы вам понадобится:

  • Сервер Ubuntu 18.04, настроенный по этому мануалу.
  • Система управления базами данных MySQL или MariaDB. Инструкции по установке можно найти в мануале Установка MySQL в Ubuntu 18.04.

1: Определение версии и остановка сервера БД

Ubuntu 18.04 использует MySQL или MariaDB, популярный форк, полностью совместимый с MySQL. В зависимости от СУБД вам придется использовать разные команды для восстановления root пароля. На данном этапе важно определить, какой сервер баз данных вы используете.

Введите такую команду:

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

mysql Ver 15.1 Distrib 10.1.29-MariaDB, for debian-linux-gnu (x86_64) using readline 5.2

Если у вас MySQL, вы увидите:

mysql Ver 14.14 Distrib 5.7.22, for Linux (x86_64) using EditLine wrapper

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

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

sudo systemctl stop mariadb

Для MySQL введите:

sudo systemctl stop mysql

Остановив сервер БД, вы можете перезапустить его в безопасном режиме, чтобы сбросить root пароль.

2: Перезапуск сервера

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

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

Настройка MariaDB для запуска без привилегий

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

Выполните следующую команду, которая устанавливает переменную среды MYSQLD_OPTS, используемую MariaDB при запуске. Параметры -skip-grant-tables и -skip-network указывают, что MariaDB запускается без таблиц привилегий и сетевых функций:

sudo systemctl set-environment MYSQLD_OPTS="--skip-grant-tables --skip-networking"

Теперь запустите MariaDB:

sudo systemctl start mariadb

Команда не отображает никакого вывода, но она перезапустит сервер БД с учетом новых переменных.

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

sudo systemctl status mariadb

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

sudo mysql -u root

Вы увидите командную строку оболочки MariaDB:

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
MariaDB [(none)]>

Теперь переходите к разделу 3.

Настройка MySQL для запуска без привилегий

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

Для этого выполните следующую команду:

sudo systemctl edit mysql

Эта команда откроет новый файл в редакторе nano, который можно использовать для управления переопределений MySQL. Они изменяют параметры сервиса MySQL по умолчанию. Этот файл будет пустым, в него нужно вставить следующий контент:

[Service] ExecStart=
ExecStart=/usr/sbin/mysqld --daemonize --pid-file=/run/mysqld/mysqld.pid --skip-grant-tables --skip-networking

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

Нажмите CTRL-Х, чтобы выйти из файла, затем Y, чтобы сохранить изменения, и ENTER, чтобы подтвердить имя файла.

Перезагрузите конфигурацию systemd, чтобы применить эти изменения:

sudo systemctl daemon-reload

Запустите сервер MySQL:

sudo systemctl start mysql

Команда не отображает никакого вывода, но она перезапустит сервер БД с учетом новых конфигураций.

Теперь можно подключиться к БД как пользователь root без пароля:

sudo mysql -u root

Вы увидите командную строку оболочки MySQL:

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
mysql>

Теперь можно сбросить утраченный пароль.

3: Изменение root-пароля

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

Чтобы перезагрузить таблицы, введите команду FLUSH PRIVILEGES.

Теперь вы можете изменить root-пароль. Дальнейшие действия зависят от того, какую СУБД вы используете, MariaDB или MySQL.

Изменение пароля в MariaDB

Если вы используете MariaDB, выполните следующую команду, чтобы установить пароль учетной записи root. Вместо new_password укажите свой новый пароль, который вы запомните.

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

Query OK, 1 row affected (0.00 sec)
Rows matched: 1 Changed: 1 Warnings: 0

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

Вы увидите вывод:

Query OK, 0 rows affected (0.01 sec)
Rows matched: 1 Changed: 0 Warnings: 0

Пароль изменен. Введите exit, чтобы выйти из консоли MariaDB и перейдите к разделу 4, чтобы перезапустить сервер базы данных в обычном режиме.

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

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

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

Query OK, 1 row affected (0.00 sec)
Rows matched: 1 Changed: 1 Warnings: 0

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

Вы увидите вывод:

Query OK, 1 row affected (0.00 sec)
Rows matched: 1 Changed: 1 Warnings: 0

Пароль изменен. Введите exit, чтобы выйти из консоли MySQL.

Теперь нужно перезапустить сервер базы данных в обычном режиме.

4: Перезапуск сервера БД в обычном режиме

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

В MariaDB отключите переменную среды MYSQLD_OPTS, которую вы установили ранее:

sudo systemctl unset-environment MYSQLD_OPTS

Теперь перезапустите сервис с помощью systemctl:

sudo systemctl restart mariadb

В MySQL удалите измененные конфигурации systemd.

sudo systemctl revert mysql

Вы увидите такой вывод:

Removed /etc/systemd/system/mysql.service.d/override.conf.
Removed /etc/systemd/system/mysql.service.d.

Обновите конфигурации systemd:

sudo systemctl daemon-reload

А затем перезапустите сервис:

sudo systemctl restart mysql

Теперь БД работает в нормальном режиме. Убедитесь, что новый пароль работает:

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

Заключение

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

Больше дополнительной информации об управлении пользователями, механизмах аутентификации или способах сброса пароля БД в других версиях СУБД можно найти в официальной документации MySQL и MariaDB.

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

Я недавно установил LAMP на Ubuntu 13.04 (32-разрядная версия), но забыл свой пароль phpMyAdmin . Как я могу сбросить его пароль без переустановки?

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

Остановите сервер MySQL

Войдите в MySQL как пользователь root

Измените MYSECRET новым паролем root

Войдите в phpmyadmin как root с вашим новым паролем

Идея №2 заключается в том, что вы создаете версию демона MySQL без пароля. Это позволяет сбросить его на шаге 4. Используя Ubuntu 16, я не смог запустить mysqld вручную - пытаясь создать файл блокировки сокета и сокета в директории, которой даже не было! Но если вы посмотрите на СЛЕДУЮЩИЙ ответ (который не является принятым ответом), это то, что мне было нужно - я тупо забыл пароль для пользователя phpmyadmin, и он находится в виде обычного текста в папке phpmyadmin.conf! ОШИБКА 1054 (42S22): неизвестный столбец «Пароль» в «списке полей»

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

В окне терминала введите:

Это откроет ваши конфигурации phpmyadmin.

Там вы увидите свое имя пользователя dbc_dbuser='your_username' и пароль ниже dbc_dbpass='your_password' .

Я не смог найти ** / etc / dbconfig-common / ** путь. Обе «База данных MySQL» и «Веб-сервер Apache» работают успешно. Любое предложение !! Это я пытаюсь работать на Wordpress. Не забудьте перезапустить mysql «sudo service mysql restart» Я нашел пользователя по имени phpmyadmin , но не мой основной root пользователь. У этого пользователя также не было разрешений на добавление новых пользователей или баз данных!

Существует обходной путь в Debian (Ubuntu, Mint и т. Д.), Где существует вторая учетная запись администратора, автоматически сгенерированная системой, которая называется

Вы можете увидеть (и не должны менять) его пароль через

Можно (обязательно в Ubuntu 16.04) использовать эту учетную запись как в phpMyAdmin, так и в командной строке

Важно: В версии Ubuntu 20.04 дефолтная конфигурация MySQL или MariaDB позволяет получить доступ к базе данных (с правами администратора) без ввода пароля, если мы устанавливаем соединение с сервером БД под пользователем root . В этом случае нам нет необходимости сбрасывать пароль. Чтобы проверить была ли конфигурация аутентификации по умолчанию изменена, вводим команду sudo mysql. Если получаем ошибку access denied, то прибегаем к действиям, указанным с статье.

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

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

Для MariaDB:

Для MySQL:

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

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

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

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

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

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

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

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

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

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

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

Теперь сброс пароля root в MySQL или MariaDB возможен .

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

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

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

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

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

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

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

Для MariaDB

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

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

Для MySQL

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

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

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

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

Сбросить пароль 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.

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

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