Меню Рубрики

Mysql смена пароля root windows

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

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

К счастью, это легко сделать, и это руководство проведет вас через процесс восстановления или сброса пароля root в версии MySQL 8.0.

Согласно документации по MySQL, существует два способа сброса корневого пароля MySQL и в этой статье мы рассмотрим оба.

СБРОС MYSQL ROOT ПАРОЛЯ С ИСПОЛЬЗОВАНИЕМ –INIT-FILE

Один из способов сброса пароля root — создать локальный файл, а затем запустить службу MySQL, используя параметр —init-file , как показано ниже:

Важно убедиться, что файл доступен для чтения пользователю mysql. В этот файл вставьте следующее и измените «new_password» на пароль, который вы хотите использовать:

ALTER USER ‘root’@’localhost’ IDENTIFIED BY ‘new_password’;

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

# systemctl stop mysqld.service # для дистрибутивов использующих systemd
# /etc/init.d/mysqld stop # для дистрибутивов использующих init

Далее запустите следующее:

# mysqld —user=mysql —init-file=/home/user/init-file.txt —console

Это запустит службу MySQL и во время процесса выполнит созданный вами файл инициализации, и, следовательно, пароль для пользователя root будет обновлен. Обязательно удалите файл после сброса пароля.

После этого обязательно остановите сервер и запустите его как обычно.

# systemctl stop mysqld.service # для дистрибутивов использующих system
# systemctl restart mysqld.service # для дистрибутивов использующих systemd
# /etc/init.d/mysqld stop # для дистрибутивов использующих init
# /etc/init.d/mysqld restart # для дистрибутивов использующих init

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

СБРОС MYSQL ROOT ПАРОЛЯ С ИСПОЛЬЗОВАНИЕМ –SKIP-GRANT-TABLES

Второй вариант — запустить службу MySQL с параметром —skip-grant-tables . Это менее безопасно, так как пока служба запускается таким образом, все пользователи могут подключаться без пароля.

Если сервер запущен —skip-grant-tables, опция для —skip-network активируется автоматически, поэтому удаленные подключения не будут доступны.

Сначала убедитесь, что служба MySQL остановлена.

# systemctl stop mysqld.service # для дистрибутивов использующих systemd
# /etc/init.d/mysqld stop # для дистрибутивов использующих init

Затем запустите службу с помощью следующей опции.

Теперь вы можете подключиться к серверу MySQL, просто используя:

Поскольку управление учетными записями отключается при запуске службы с параметром —skip-grant-tables, нам придется перезагрузить гранты. Таким образом, мы сможем изменить пароль позже:

Теперь вы можете выполнить следующий запрос, чтобы обновить пароль. Обязательно замените «new_password» реальным паролем, который вы хотите использовать.

# ALTER USER ‘root’@’localhost’ IDENTIFIED BY ‘new_passowrd’;

Теперь остановите сервер MySQL и запустите его как обычно.

# systemctl stop mysqld.service # для дистрибутивов использующих system
# systemctl restart mysqld.service # для дистрибутивов использующих systemd
# /etc/init.d/mysqld stop # для дистрибутивов использующих init
# /etc/init.d/mysqld restart # для дистрибутивов использующих init

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

Источник

Как сбросить пароль 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 или MariaDB

Эта инструкция охватывает сброс пароля root как для более старых,

так и для новых версий MySQL и MariaDB.

Шаг 1 — Определяем версию системы управления
базой данных

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

mysql —version

Для MySQL вы увидите что-то вроде:

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

Для MariaDB вывод будет примерно таким:

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

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

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

Шаг 2 — Остановка сервера базы данных

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

Для MySQL и MariaDB вы можете сделать это:

sudo systemctl stop mysql

После того, как сервер остановлен, вы вручную получите к нему доступ для сброса пароля рута.

Шаг 3 — Перезапуск сервера базы данных без проверки разрешений

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

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

Запустите базу данных без загрузки таблиц привилегий и без доступа к сети:

sudo mysqld_safe —skip-grant-tables —skip-networking &

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

mysqld_safe Directory ‘/var/run/mysqld’ for UNIX socket file don’t exists.

Если вы видите ошибку

mysqld_safe Directory ‘/var/run/mysqld’ for UNIX socket file don’t exists.

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

sudo mkdir -p /var/run/mysqld
sudo chown mysql:mysql /var/run/mysqld

И запустите ещё раз:

sudo mysqld_safe —skip-grant-tables —skip-networking &

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

mysql -u root

Вы сразу же увидите приглашение оболочки базы данных.

Приглашение командной строки MySQL:

Type ‘help;’ or ‘\h’ for help. Type ‘\c’ to clear the current input statement.

Приглашение командной строки MariaDB:

Welcome to the MariaDB monitor. Commands end with ; or \g.

Your MariaDB connection id is 2

Server version: 10.0.29-MariaDB-0ubuntu0.16.10.1 Ubuntu 16.10

Copyright (c) 2000, 2016, Oracle, MariaDB Corporation Ab and others.

Type ‘help;’ or ‘\h’ for help. Type ‘\c’ to clear the current input statement.

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

Шаг 4 — Смена пароля рута

Простым способом смены пароля рута для современных версий MySQL является использование запроса ALTER USER. Тем не менее, эта команда не будет работать прямо сейчас, поскольку таблицы привилегий не загружены.

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

FLUSH PRIVILEGES;

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

Для MySQL 5.7.6 и новее, а также для MariaDB 10.1.20 и новее используйте следующую команду:

ALTER USER ‘root’@’localhost’ IDENTIFIED BY ‘новый_пароль’;

Для MySQL 5.7.5 и старее, а также для MariaDB 10.1.20 и старее используйте:

SET PASSWORD FOR ‘root’@’localhost’ = PASSWORD(‘новый_пароль’);

Не забудьте поменять новый_пароль на выбранный вами новый пароль.

Примечание: если команда ALTER USER не работает, то это обычно является признаком более серьёзной проблемы. Тем не менее, вместо этой вы можете попробовать UPDATE … SET для сброса root пароля.

UPDATE mysql.user SET authentication_string = PASSWORD(‘новый_пароль’) WHERE User = ‘root’ AND Host = ‘localhost’;

После этого не забудьте перегрузить таблицы привилегий.

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

Query OK, 0 rows affected (0,29 sec)

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

Шаг 5 — Обычный перезапуск сервера базы данных

Для начала, остановите экземпляр сервера базы данных, который вы запустили вручную на Шаге 3. Эта команда ищет PID или ID процесса для процесса MySQL или MariaDB и отправляет SIGTERM для сообщения процессу мягко выйти после завершения операций очистки.

Для MySQL и MariaDB используйте:

sudo kill `sudo cat /var/run/mysqld/mysqld.pid`

Затем перезапустите сервис используя systemctl.

sudo systemctl start mysql

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

mysql -u root -p

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

Источник

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

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

  • Mysql полное удаление windows
  • Mysql менеджер для windows
  • Mysql забыл пароль root windows
  • Mysql графический интерфейс для windows
  • Mysql workbench установка windows