Перейти к содержимому

Как узнать пароль root mysql

  • автор:

Как узнать пароль root пользователя для базы данных MySQL в Ubuntu?

Мне достался один VPS сервер, в наследство, так скажем. Бывший владелец не выходит на связь. Как мне узнать пароль root пользователя для базы данных MySQL? Где он храниться в файловой системе Ubuntu 14.04?

Отслеживать
68k 221 221 золотой знак 79 79 серебряных знаков 221 221 бронзовый знак
задан 2 июн 2015 в 20:33

3 ответа 3

Сортировка: Сброс на вариант по умолчанию

узнать пароль — естественно, никак (разве что бывший владелец записал его где-нибудь «для памяти»).

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

$ sudo dpkg-reconfigure mysql-server-5.5 

цифры («5.5») в вашей системе могут отличаться. в дефолтной установке работает bash-completion , поэтому, набрав всю команду вплоть до mysql-server и нажав два раза tab , вы увидите, какая именно версия пакета mysql-server установлена в вашей системе.

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

$ dpkg --get-selections | grep mysql-server- 

примерный вывод этой команды:

mysql-server-5.5 install mysql-server-core-5.5 install 

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

Доступы к серверам и сервисам нужно тщательно хранить, никому их не передавать и не терять. Но иногда случаются ситуации, когда пароли все-таки теряются или после смены их забывают записать, восстановить такой пароль тоже нет возможности. Если вы забыли пароль от root-пользователя MySQL — не отчаивайтесь, пароль root в MySQL легко сменить.

Важно понимать, что у вас должны быть права администратора на том сервере, где установлен MySQL-сервер. Это может быть либо root-пользователь напрямую, либо доступ через sudo.

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

Возможности MySQL в «Облачных базах данных»

Самый простой способ для последних версий

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

sudo mysql 

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

ALTER USER 'root'@'localhost' IDENTIFIED BY '12345'; 

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

Сбросить пароль root в MySQL с помощью SKIP-GRANT-TABLES

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

Для начала нужно остановить сервер:

sudo systemctl stop mysql 

Теперь отредактируем service-файл, который запускает MySQL. Выполним команду:

sudo systemctl edit mysql 

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

[Service] ExecStart= ExecStart=/usr/sbin/mysqld --skip-grant-tables --skip-networking 

Мы указываем, что сервер нужно запустить без проверки grant-таблиц, а также ограничить подключения по сети. Сохраните файл и выйдите из текстового редактора. Теперь нужно обновить конфигурацию systemd, чтобы он учитывал наш новый конфиг, а затем можно запустить сервер:

sudo systemctl daemon-reload sudo systemctl start mysql 

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

mysql -u root 

Так как мы запустили сервер без проверки полномочий, сначала нам нужно применить таблицу привилегий, чтобы мы могли записать в нее новый пароль. Вместо 12345 укажите свой пароль:

FLUSH PRIVILEGES; ALTER USER 'root'@'localhost' IDENTIFIED BY '12345'; 

Выходим из MySQL и возвращаем настройки запуска по умолчанию. Для этого нам нужно удалить service-файл для systemd, перечитать конфигурацию и снова запустить сервер БД:

sudo systemctl revert mysql sudo systemctl daemon-reload sudo systemctl restart mysql 

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

Сбросить пароль с помощью init-file

Еще один способ — написать init-файл. Это файл, который MySQL считывает перед запуском. В нем можно указать различные команды, в том числе установить пароль любого пользователя.

Создайте простой текстовый файл, например в вашей домашней директории. Назвать его можно как угодно. Вставьте в этот файл команду для смены пароля. Вместо 12345 укажите свой настоящий пароль:

ALTER USER 'root'@'localhost' IDENTIFIED BY '12345'; 

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

sudo systemctl stop mysql 

Теперь снова запустим сервер, при этом указав путь к созданному нами файлу:

sudo mysqld --user=mysql --init-file=/path/to/init-file & 

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

sudo kill -15 7508 rm /path/to/init-file sudo systemctl start mysql 

Заключение

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

Создание нового пользователя и настройка прав в MySQL

ALTER TABLE — изменение таблицы в SQL

Зарегистрируйтесь в панели управления

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

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

Инструкция

Как создать 100 серверов в облаке за минуту? Работа с OpenStack клиентом

Инструкция

Как создать веб-приложение на базе Telegram Mini Apps

Инструкция

Что делает команда chmod и как ее использовать в Linux

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

Если вы забыли или потеряли пароль от сервера баз данных, его можно сбросить. Для этого вам понадобится root-доступ к серверу по SSH. Инструкция подойдет для следующих версий ПО:

  • MySQL 8.0 и более ранние версии;
  • Ubuntu 16.04, 18.04, 20.04.

В статье мы расскажем, как в MySQL сбросить пароль root.

В более поздних дистрибутивах к MySQL можно подключиться без ввода пароля. Такую возможность дает плагин auth_socket. Доступ без пароля зависит от того, какой пользователь ОС подключается к MySQL. По умолчанию доступ имеет только root-пользователь.

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

mysql

Если настроен доступ без пароля, на экране вы увидите примерно следующее:

Подключение к MySQL без пароля

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

Ошибка при подключении к базе данных через терминал

Доступ для пользователя root без использования пароля запрещён

Если доступ без пароля не настроен, а пароль утерян, воспользуйтесь нашей инструкцией.

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

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

Откройте файл параметров MySQL командой:

nano /etc/mysql/my.cnf

Добавьте в конец файла три параметра:

[mysqld] skip-grant-tables skip-networking

Конфигурационный файл MySQL - my.cnf

MySQL reset root password Если директива [mysqld] уже прописана в файле, добавьте только skip-grant-tables и skip-networking:

  • skip-grant-tables — параметр, который пропускает проверку прав. Это позволит подключиться к MySQL без пароля любому пользователю.
  • skip-networking — параметр, который запретит удалённые подключения к серверу БД на время сброса пароля.

Чтобы сохранить изменения, нажмите CTRL+S. Затем закройте редактор сочетанием клавиш CTRL+X.
Чтобы запустить MySQL с нужными параметрами, перезапустите сервер БД командой:

systemctl restart mysql.service

MySQL — как сбросить пароль root

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

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

  • Проверьте, вошли ли вы в систему как администратор.
  • Нажмите Win + R. Когда откроется окно «Выполнить», введите: services.msc
  • Нажмите ОК.
  • В списке служб найдите MySQL. Кликните правой кнопкой мыши по ней, после чего левой кликните Stop.

msql.png

2. Измените пароль в текстовом редакторе

  • В меню найдите «Блокнот», либо используйте путь: Меню > Стандартные Windows > Блокнот.
  • Создайте новый текстовый документ с помощью команды пароля
  • В текстовом редакторе введите строку: ALTER USER ‘root’@’localhost’, IDENTIFIED BY ‘NewPassword’;
  • Проверьте, на месте ли кавычки и точка с запятой. Замените NewPassword своим новым паролем. «Файл» > «Сохранить как», чтобы сохранить файл в корень жесткого диска (C:\). Придумайте осмысленное имя файлу.

Команда localhost изменит пароль в вашей локальной системе. Если вы пытаетесь изменить пароль по сети, замените текущее имя хоста на localhost.

3. Запустите cmd

  • Откройте командную строку и нажмите Ctrl+Shift+Esc.
  • В меню выберите «Файл» > «Запустить новую задачу».
  • Введите cmd.exe и установите флажок для запуска от имени администратора.
  • Нажмите ОК.

Бесплатный тестовый доступ к облаку на 30 днейПолучить

4. Перезапустите сервер MySQL с обновлённым файлом конфигурации.

Чтобы перейти в каталог MySQL используйте командную строку:

cd «C:\Program Files\MySQL\MySQL Server 8.0\bin»

Вместо ИМЯ_ФАЙЛА вы вводите своё название, которое использовали в пункте 2.

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

  • Повторите вход с новым паролем, чтобы убедиться, что всё работает. Если у вас есть уникальные параметры конфигурации (например, запуск MySQL с параметром -defaults-file ), делайте всё, что нужно.
  • После запуска MySQL и подтверждения смены пароля удалите файл C:\ИМЯ_ФАЙЛА.txt .

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

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

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