- Как сбросить пароль root MySQL или MariaDB в Windows
- Шаг 1 — Определяем версию системы управления базой данных
- Шаг 2 — Остановка сервера базы данных
- Шаг 3 — Перезапуск сервера базы данных без проверки разрешений
- Шаг 4 — Смена пароля рута
- Шаг 5 — Обычный перезапуск сервера базы данных
- Заключение
- Ошибка «—shared-memory, or —named-pipe should be configured on NT OS»
- Как изменить (сбросить) root пароль в MySQL
- Как поменять пароль root в MySQL
- Если пароль root ИЗВЕСТЕН
- Если пароль root НЕ ИЗВЕСТЕН
- Смена пароля root в MySQL на windows
- Information Security Squad
- 👥 Как сбросить пароль root в MySQL 8.0 в Windows
- Смена пароля root для MySQL
- Смена пароля, если текущий пароль утерян
- Смена пароля, если текущий пароль известен или не был установлен ранее
Как сбросить пароль root MySQL или MariaDB в Windows
Если у вас Linux, то смотрите статью «Как сбросить пароль root для MySQL или MariaDB».
Пароль пользователя root спрашивается во время установки СУБД. Если установка делалась вручную, то есть без инстолятора, как это описано, например, в этой статье, то пароль может быть не установлен вовсе.
Если вы используете какие-то готовые сборки, которые включают в себя MySQL/MariaDB, то обратитесь за паролем на официальные сайты этих сборок. Также попробуйте такие учётные данные:
- Пользователь: root
- Пароль: root
Если вы действительно забыли пароль MySQL/MariaDB и вам нужно сбросить пароль root в MySQL на Windows, то данная статья расскажет, как это сделать.
Шаг 1 — Определяем версию системы управления базой данных
Найдите, в какой папке у вас расположен файл mysqld.exe. При установке по данной инструкции, этот файл расположен в папке C:\Server\bin\mysql-8.0\bin\.
Откройте командную строку. Нам понадобятся права администратора, поэтому делаем следующее: нажмите Win+x и там выберите Windows PowerShell (администратор):
Теперь перейдите в командной строке в директорию с файлом mysqld.exe, для этого используйте команду вида:
Например, у меня это папка C:\Server\bin\mysql-8.0\bin\, тогда команда такая:
Нужно определить версию MySQL/MariaDB, для этого выполните команду:
Шаг 2 — Остановка сервера базы данных
Для изменения пароля root вы должны заранее отключить сервер базы данных. Для MySQL и MariaDB вы можете сделать это командой:
После того, как сервер остановлен, вы вручную получите к нему доступ для сброса пароля рута.
Шаг 3 — Перезапуск сервера базы данных без проверки разрешений
Если вы запускаете MySQL и MariaDB без загрузки информации о привилегиях пользователя, она позволит вам без ввода пароля получить доступ к командной строке базы данных с привилегиями рута. Это позволит вам получить доступ к базе данных без знания парольной фразы. Чтобы это сделать, вам нужно не дать базе данных загрузить таблицы привилегий, которые содержат информацию о привилегиях пользователя. Поскольку это несёт риск безопасности, вы также должны избежать сетевой активности, чтобы не допустить подключения других клиентов.
Запустите базу данных без загрузки таблиц привилегий и без доступа к сети:
Программа НЕ должна завершить работу, то есть теперь в это окно командной строки ничего нельзя ввести.
Шаг 4 — Смена пароля рута
Теперь вы можете подключиться к базе данных как пользователь рут, у которого не спросят пароль.
Открываем новое окно командной строки, можно без прав администратора.
Опять переходим в нужную папку
И подключаемся к серверу MySQL/MariaDB
Вы сразу же увидите приглашение оболочки базы данных. Приглашение командной строки MySQL:
Теперь, когда у вас имеется рут доступ, вы можете изменить пароль рута.
Простым способом смены пароля рута для современных версий MySQL является использование запроса ALTER USER. Тем не менее эта команда не будет работать прямо сейчас, поскольку таблицы привилегий не загружены. Давайте скажем серверу баз данных перегрузить таблицы привилегий введя команду:
Теперь действительно мы можем поменять пароль рута.
Для MySQL 5.7.6 и новее, а также для MariaDB 10.1.20 и новее используйте следующую команду:
Для MySQL 5.7.5 и старее, а также для MariaDB 10.1.20 и старее используйте:
Не забудьте поменять новый_пароль на выбранный вами новый пароль.
Примечание: если команда ALTER USER не работает, то это обычно является признаком более серьёзной проблемы. Тем не менее вместо этой вы можете попробовать UPDATE … SET для сброса root пароля:
После этого не забудьте перегрузить таблицы привилегий:
В любом случае вы должны видеть подтверждение, что команда успешно выполнена. Вывод:
Выходим из сессии:
Пароль изменён, вы можете остановить запущенный вручную экземпляр сервера базы данных и перезапустить его как это было раньше.
Шаг 5 — Обычный перезапуск сервера базы данных
Для начала, остановите экземпляр сервера базы данных, который вы запустили вручную на Шаге 3. Для этого перейдите в окно с запущенной mysqld и нажмите Ctrl+c.
Затем перезапустите сервис обычным образом:
Теперь вы можете подтвердить, что новый пароль работает, запустите:
Эта команда должна вызвать приглашение в который нужно ввести новый пароль. Введите его, вы должны получить доступ к интерфейсу командной строки базы данных, как это обычно и происходит.
Заключение
Теперь вы восстановили административный доступ к серверу MySQL или MariaDB. Убедитесь, что новый пароль рута, который вы выбрали, безопасный и храните его в надёжном месте.
Ошибка «—shared-memory, or —named-pipe should be configured on NT OS»
Если при запуске mysqld вы столкнулись со следующей ошибкой:
то вам необходимо к команде запуска mysqld добавить флаг —shared-memory.
Как изменить (сбросить) root пароль в MySQL
Довольно часто происходит такая ситуация, что пароль для учетной записи 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 в MySQL на windows
Если Вы только установили службу Mysql сервера то вам просто необходимо сменить пароль так как он вообще не задан. Открываем консоль (пуск>выполнить>cmd) и сразу вводим:
mysqladmin -u root password ‘newpassword’
где newpassword – новый пароль
Если же у Вас уже существует пароль то сменить его можно командой
mysqladmin -u root -pcurrentpassword password ‘newpassword’
где currentpassword – старый пароль,
newpassword – новый пароль
более сложный метод без команды mysqladmin (может и не стоило это писать но для информации пригодится)
mysql -u root
mysql> SET PASSWORD FOR ‘root’@’localhost’ = PASSWORD(‘newpassword’);
mysql -u root
mysql> use mysql;
mysql> UPDATE user SET Password = PASSWORD(‘newpassword’) WHERE User = ‘root’;
mysql> FLUSH PRIVILEGES;
А как сменить пароль если его не помнит никто?
для особо одаренных (у кого в голове много паролей или кто их не запоминает )
1) нужно остановить службу mysql сервера в большинстве случаев service mysqld stop или service mysql stop
2) выполнить команду
3) после успешного старта mysqld
там вводим команды
update user set Password=PASSWORD(‘new-password’) where user=’root’;
flush privileges;
exit;
4) перегружаем mysqld (обычно service mysqld restart)
Information Security Squad
stay tune stay secure
- Home
- 2019
- Октябрь
- 29
- 👥 Как сбросить пароль root в MySQL 8.0 в Windows
👥 Как сбросить пароль 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 – выполнить процедуру, указанную в руководстве по ссылке ниже.
Смена пароля root для MySQL
В случае, если необходимо изменить пароль root-пользователя базы данных, в том числе при его утере, воспользуйтесь следующей инструкцией.
Смена пароля, если текущий пароль утерян
1. Подключитесь к серверу по SSH.
2. Остановите службу MySQL:
3. Отредактируйте файл mysqld.cnf , чтобы запустить службу без проверки прав доступа. Для этого:
3.1. Откройте файл в редакторе:
3.2. В секцию [mysqld] добавьте следующую строку:
Должно получиться примерно так:
3.3. Сохраните изменения (в nano это выполняется комбинацией Ctrl O -> Enter -> Ctrl X, либо Ctrl X -> Y -> Enter).
4. Перезапустите mysql:
5. Снова откройте файл mysqld.cnf :
И удалите добавленную строку. Сохраните изменения.
6. Подключитесь к MySQL как root без пароля:
7. Выберите активную БД:
8. Обновите пароль:
9. Примените изменения:
10. Выйдите из mysql командой \q
11. Перезапустите службу в обычном режиме:
12. Теперь проверьте, что пароль успешно изменен, подключившись под root с новым паролем. Для этого выполните:
После чего введите ваш новый пароль.
Смена пароля, если текущий пароль известен или не был установлен ранее
Если требуется изменить существующий root-пароль для MySQL либо установить его в случае, когда он не был задан в принципе (это актуально, например, при автоматической установке LAMP при создании сервера — root-пароль MySQL при этом не задается), это можно сделать следующим образом:
1. Подключитесь к серверу по SSH.
2. П ерейдите к управлению MySQL:
Если пароль root не задан, используйте команду:
Если пароль существует, используйте команду:
После чего введите текущий пароль.
3. Выполните запрос ниже, заменив «пароль» на нужное вам значение:
4. Выйдите из консоли MySQL командой \q
5. Проверьте изменения, подключившись с новым паролем. Выполните команду: