как узнать пароль mysql workbench
FAQ по восстановлению забытого пароля администратора в MySQL
В данной статье описывается что делать если вы забыли администраторский пароль или случайно удалили самого root-пользователя. Статья ориентирована в первую очередь на новичков, поэтому описание всех действий изложено очень подробно, однако материал может оказаться небезынтересен и для более опытных пользователей.
Как восстановить забытый пароль администратора?
Пароли хранятся в базе в зашифрованном виде, поэтому восстановить забытый пароль нельзя, однако можно установить новый. Для этого нужно:
1. Перезапустить сервер в режиме —skip-grant-tables
2. Установить новый пароль администратора
3. Перезапустить сервер в обычном режиме
Теперь подробнее о каждом пункте. В режиме skip-grant-tables отключена проверка прав доступа и привилегий, иными словами, вы можете подключиться с пустыми логин/пароль и будете обладать при этом всеми возможными привилегиями.
Примечание. Обратите внимание, что другие пользователи, подключившие до выполнения вами команды FLUSH PRIVILEGES; или перезагрузки сервера в обычном режиме, также будут обладать администраторскими правами.
MySQL сервер хранит информацию о привилегиях в таблицах привилегий служебной базы mysql. При старте сервера, содержимое таблиц привилегий загружается в память и в дальнейшей работе используется копия, находящаяся в памяти. Команда FLUSH PRIVILEGES; обновляет данные о привилегиях, загруженные в память. Таким образом, данная команда отменяет режим skip-grant-table и включает проверку прав доступа и привилегий.
Примечание. Обратите внимание, что если вы напрямую редактируете содержимое таблиц привилегий базы mysql, с помощью команд INSERT, UPDATE, DELETE, то изменения сразу не вступят в силу, так как информация о пользовательских привелегиях, загруженная в память, останется неизменной.
Если использовать рекомендованные команды типа GRANT или SET PASSWORD, то изменения вступят в силу незамедлительно.
Затем перезапустить сервер.
Дальнейшие действия будут зависеть от используемого вами клиента:
1. Если ваш клиент не разрывает соединение после выполнения каждой команды как, например, родной клиент mysql, то первым делом выполняем команду FLUSH PRIVILEGES;, которая загружает в память таблицы грантов. Затем с помощью команд GRANT или SET PASSWORD назначаем пароль администратору:
SET PASSWORD for root@localhost=password(‘mypassword’);
Данный вариант действий является предпочтительным.
2. Если ваш клиент разрывает соединение после выполнения каждой команды, например, Query Browser, то после выполнения FLUSH PRIVILEGES; он будет требовать указать пароль, который мы ещё не успели назначить. Назначить сначала пароль с помощью команд GRANT или SET PASSWORD не получится, так как в режиме skip-grant-tables их нельзя использовать. (Выше уже указывалось, что FLUSH PRIVILEGES; отменяет данный режим, поэтому в предыдущем пункте данные команды работают.) Остается единственно возможный способ это напрямую изменять данные в таблице mysql.user
UPDATE mysql.user SET PASSWORD=PASSWORD(‘mypassword’) WHERE user=’root’ AND host=’localhost’;
Как восстановить root-пользователя?
Если root-пользователь (пользователь, обладающий всеми возможными прривилегиями, как правило имеет имя root) был по неосторожности удален, то последовательность действий аналогична предыдущему разделу за исключением того, что вместо назначения пароля необходимо будет создать root-пользователя. Т.е. в режиме skip-grant-tables в зависимости от используемого вами клиента действуем одним из нижеследующих способов:
👥 Как сбросить пароль root в MySQL 8.0 в Windows
Если вы предварительно установили пароль root, но забыли его, вы можете установить новый пароль.
Следующая процедура подойдет только для систем Windows.
Вы должны войти в Windows как пользователь с правами администратора, затем выполните следующие действия:
1. Остановите сервер MySQL, если он работает.
Для сервера, работающего в качестве службы Windows, перейдите в диспетчер служб:
Параметр –skip-grant-tables пропустит чтение таблиц разрешений для MySQL Server; это позволит любому пользователю подключаться без использования пароля с полным доступом ко всем таблицам.
Дополнительный параметр –skip-network снижает риск безопасности, не позволяя серверу принимать соединения через TCP / IP; вместо этого включаются именованные каналы с помощью –enabled-named-pipe.
Именованные каналы доступны только в системах на базе NT, поэтому TCP / IP должен использоваться для других ОС Windows.
Если вы беспокоитесь о безопасности, вы должны использовать брандмауэр для блокировки внешнего доступа к серверу в течение этого времени.
Оставив первое окно консоли открытым, откройте второе окно консоли и выполните следующие команды (введите каждую в одной строке):
Замените «newpwd» фактическим паролем рута, который вы хотите использовать.
Вторая команда предложит вам ввести новый пароль для доступа.
Введите пароль, который вы указали в первой команде.
Как только вы остановили сервер MySQL, снова перезапустите его в обычном режиме.
Если вы запускаете сервер как службу, вы можете запустить его из окна Windows служб.
Если вы запускаете сервер вручную, используйте любую команду, которую вы обычно используете.
Теперь вы сможете подключиться, используя новый пароль root.
Один из способов сброса пароля root в Windows – выполнить процедуру, указанную в руководстве по ссылке ниже.
Как узнать пароль MySQL или не ищем приключений на свою голову
Дата публикации: 2016-05-03
От автора: вы куда полезли через ограду, гражданин! На заборе написали пароль, чтоб не забыть. Так может вы с этой стороны написали? Да нет – это не мой написан. Ну, удачных поисков, а всем остальным я расскажу, как узнать пароль MySQL, не перелезая через чужие заборы.
Нет ничего проще!
Если у вас есть элементарные знания и навыки обращения с СУБД MySQL, и (главное) учетная запись администратора, то узнать пароли всех пользователей можно в два счета. Для этого можно использовать как программные оболочки, так и команды SQL.
Что представляет собой сервер СУБД? Это обычная база данных, содержащая в себе всю нужную для работы MySQL информацию. Здесь хранятся все настройки сервера, баз, сведения о плагинах, дате и времени, пользовательские учетные записи, их привилегиях и паролях. В контексте данной статьи нас интересует значения последних.
Чтобы узнать пароль MySQL, нужно зайти на сервер под своей учеткой администратора. Затем открыть системную базу данных с именем «mysql» и сделать выборку значений из таблицы user. Для наглядности все интересующие сведения (значения паролей) мы получим с помощью php MyAdmin.
Откроем системную БД, и посмотрим на содержимое нужной нам таблицы «сблизи»: в одном из ее столбцов прописаны все пароли. Как видите, ничего сложного и для этого нам понадобилось всего несколько минут. Но что это такое? Кто «стибрил» из таблицы понятные значения паролей и заменил их какой-то «абракадаброй»!
Бесплатный курс по PHP программированию
Освойте курс и узнайте, как создать динамичный сайт на PHP и MySQL с полного нуля, используя модель MVC
В курсе 39 уроков | 15 часов видео | исходники для каждого урока
Спокойствие, и только спокойствие! Никто ничего «не стибрил», просто в таблице указываются уже хешированные пароли. А что у вас глаза такие удивленные? Сейчас все разложим «по полочкам».
Как происходит шифрование в MySQL
Дело в том, что данная СУБД использует собственный алгоритм шифрования паролей. Точнее, не шифрования, а хеширования. Из-за этого пока никто не придумал способа, как расшифровать пароли в MySQL.
Существуют различные алгоритмы хеширования, но если при этом будет использоваться криптографическая толь, то шансов получить значение пароля сводится почти к 0. Криптографическая соль – это дополнительная строка, которая присоединяется к первоначальному значению. В результате на выходе (после хеширования) получается почти «невзламываемый» пароль.
Для установки пароля СУБД использует функцию PASSWORD(). Она не возвращает значения, которое было послано ей на обработку. Поэтому использовать данную функцию для получения «читаемого» пароля не получится. Единственное, что можно сделать – это получить хешированную строку по первоначальному значению. Синтаксис запроса:
Это же значение можно найти в системной таблице user (служебная база данных mysql), куда заносятся все учетные записи пользователей СУБД и хешированные значения паролей.
Путем перебора (если знать хотя бы примерную структуру значения) можно попытаться вспомнить забытый пароль. Но восстановить таким образом полностью неизвестное значение практически невозможно. Помните, что все описанные выше операции производятся под учетной записью администратора (root).
Использование обратимого шифрования
Узнать пароль MySQL, заданный системой по умолчанию для учетных записей сервера не удастся. Но это можно реализовать на уровне баз данных или даже таблиц. Многие движки и CMS, работающие на основе MySQL, имеют собственную (встроенную) систему аутентификации.
Например, если открыть таблицу БД WordPress, где движок сохраняет все данные о пользователях, то в столбце user_pass вы увидите такую же «абракадабру», как и в системной базе MySQL. Это говорит о том, что данная CMS также использует один из алгоритмов необратимого шифрования паролей (md5).
Запустите программу, слева в списке выберите нужную БД. После этого перейдите во вкладку SQL и запустите на выполнение следующий код:
Бесплатный курс по PHP программированию
Освойте курс и узнайте, как создать динамичный сайт на PHP и MySQL с полного нуля, используя модель MVC
В курсе 39 уроков | 15 часов видео | исходники для каждого урока
Сброс пароля root в MySQL
Для доступа к базе данных MySQL или MariaDB нужно ввести имя пользователя и пароль. Во время установки автоматически создаётся учётная запись пользователя root. Это аналог суперпользователя в Linux для MySQL. Он может выполнять все действия со всеми базами данных, а также создавать и удалять других пользователей.
Обычно, пароль для него не устанавливается, и вы можете задать его вручную уже после завершения установки. Но если вы забыли пароль или он был установлен автоматически, но вы его не знаете, то вам может понадобится его сбросить. Это можно сделать несколькими способами. В этой статье мы разберём, как выполняется сброс пароля root MySQL.
1. Сброс пароля с помощью init-file
UPDATE mysql.user SET password=password(‘новый пароль’) WHERE user=’root’;
Затем остановите сервис, если он запущен:
sudo systemctl stop mysql
sudo systemctl stop mariadb
Теперь осталось выполнить наш файл:
Подождите минуту, чтобы всё успело сработать как нужно, а затем остановите этот процесс. В консоли команда сообщит started as proccess и PID процесса, этот PID нам и нужен, чтобы его остановить. Например:
Далее запустите mysql обычным способом и попробуйте войти со своим новым паролем:
sudo systemctl start mariadb
Сброс пароля с помощью skip-grant-tables
sudo systemctl stop mariadb
Затем запустите mysql вручную с помощью такой команды:
Войдите в консоль управления mysql:
Так как мы загрузились без таблиц привелегий пользователей, то эти таблицы необходимо подгрузить сейчас:
Теперь можно сменить пароль для пользователя root:
UPDATE mysql.user SET password=password(‘новый пароль’) WHERE user=’root’;
Затем закройте консоль клиента 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
Дата публикации: 2018-11-28
От автора: базы данных MySQL известны своей безопасностью. Для того, чтобы получить права суперпользователя, необходимо ввести пароль, который был создан при установке. Но очень часто серверы с базами данных перепродаются, достаются в наследство или передаются любым другим способом. Одним их самых распространённых действий в MySQL, сброс пароля root, как раз и является. Сегодня мы расскажем о том, что такое рут-пасс, как поменять и что делать, если этот реквизит аутентификации вам неизвестен.
Что такое Рут-пароль
Если вы работали с Unix-подобными операционными системами, то термин «рут-права» вам знаком. Он значит, что пользователь получает полное управление над системой, может ее видоизменять с помощью программного кода, доустанавливать, обновлять пакеты и даже провести полную санацию ОС. В Windows тоже есть подобный режим работы, его принято называть administrator.
В Linux существует и альтернативный способ администрирования системы: чтобы не переходить к режиму superuser, можно воспользоваться командой sudo. Именно так устанавливается программное обеспечение и настраивается конфигурация операционки. К сожалению, подобного «промежуточного» режима нет в MySQL и, чтобы сменить password в базах данных, нам придется рутироваться. Это не то же самое, что рут-права в оси: все настройки происходят благодаря root в MySQL.
При установке программного обеспечения для базы данных новички часто допускают ошибки. Одной из тех, которая касается темы нашей статьи, является сеттинг слишком сложного кодового слова, либо небрежность при создании. После, разработчик сталкивается с тем, что абсолютно не помнит рут-пасса и не может произвести базовых конфигурационных действий.
JavaScript. Быстрый старт
Изучите основы JavaScript на практическом примере по созданию веб-приложения
Стандартные привилегии
Это одни из первых шагов при установке СУБД: приоритеты доступа обозначаются еще после запуска команды mysql_install_db. Инициализируются таблицы безопасности, которые обозначают стандартный порядок доступа к режиму суперпользователя. Одной из составляющих является наличие root и пароля к нему.
Как только установка MySQL завершена, получить права суперпользователя может каждый, кто подойдет к терминалу: достаточно лишь ввести нужную команду. Дело в том, что изначально в таблицах безопасности нет пасса для root, если только пользователь не задал его в процессе установки.
Тем не менее, задать пароль пользователя необходимо. Ваши базы данных – это вся информация, которая обеспечивает работу программного обеспечения, веб-приложения или другого продукта, который вы создаете. Это можно сделать через графический интерфейс MySQL Workbench либо через командную строку, что предпочтительней. Наиболее опытные предпочитают даже не строку, а непосредственно таблицы безопасности. Это немного сложнее и не стоит того, если ваша работа не связана с ними в дальнейшем. Результат не изменится в зависимости от способа.
Заменить рут-пасс
Если вам известен пароль, то смена не создаст трудностей. Напротив, это можно сделать в несколько команд из строки.
Для начала, через безопасную оболочку Shell нужно подключится к серверу, который значится, как виртуальный. Далее, необходимо получить root права для работы с правами суперпользователя. Выглядит это так: