Как сбросить пароль root для MySQL в среде Linux
Если пароль от сервера БД MySQL утерян/забыт/не передан предыдущим администратором, то есть штатная процедура сброса пароля root. Это в обязательном порядке потребует остановки сервера СУБД.
Итак, чтобы сбросить пароль в среде Linux потребуется следующий порядок действий:
1. Выполнить вход на сервер, где запущен сервер MySQL/MariaDB
2. Остановить процесс mysql
Для остановки процесса, в зависимости от дистрибутива потребуется узнать pid родительского процесса. Его можно узнать при помощи команды: ps aux | grep MySQL или найти файл ".pid" (обычно mysql.pid или mariadb.pid) в одном из наиболее часто используемых каталогов, в зависимости от типа linux дистрибутива:
/var/lib/mysql/
/var/run/mysqld/
/usr/local/mysql/data/
и далее выполнить команду:
В современных дистрибутивах, например, в CentOS 7, остановить MySQL без выснения PID процесса, воспользовавшись командой:
6. Останавливаем службу MySQL одним из способов, предложенных в пункте 2
7. Выполняем обычный запуск службы MySQL, например, так
Описанная выше процедура одинаково подходит как для сервера MySql, так и для сервера MariaDB, с тем лишь исключением, что название сервисов может быть не mysql (mysqld), а mariadb.
Итак, чтобы сбросить пароль в среде Linux потребуется следующий порядок действий:
1. Выполнить вход на сервер, где запущен сервер MySQL/MariaDB
2. Остановить процесс mysql
Для остановки процесса, в зависимости от дистрибутива потребуется узнать pid родительского процесса. Его можно узнать при помощи команды: ps aux | grep MySQL или найти файл ".pid" (обычно mysql.pid или mariadb.pid) в одном из наиболее часто используемых каталогов, в зависимости от типа linux дистрибутива:
/var/lib/mysql/
/var/run/mysqld/
/usr/local/mysql/data/
и далее выполнить команду:
kill <pid>
где <pid> - это номер процесса, который записан в .pid файлеВ современных дистрибутивах, например, в CentOS 7, остановить MySQL без выснения PID процесса, воспользовавшись командой:
systemctl stop mysqld
Либоservice mysql stop
3. Запустить сервер MySQL с параметром --skip-grant-tables, командой:mysqld_safe --skip-grant-tables
4. подключиться к локальному серверу MySQL командой:mysql -u root
5. Последовательно выполняем команды:- Явно указать БД с которой работаем,
- Установить новый пароль для сервера MySql
- Указать серверу заново выполнить загрузку таблицы привилегий
- Отключиться от сервера
use mysql;
UPDATE user set password=PASSWORD("MyNewPassword") WHERE User='root';
FLUSH PRIVILEGES;
quit
Где, MyNewPassword - новый пароль для учетной записи root6. Останавливаем службу MySQL одним из способов, предложенных в пункте 2
7. Выполняем обычный запуск службы MySQL, например, так
service mysql start
или такsystemctl start mysqld
8. Если ошибок не возникло, штатное подключение к серверу с паролем от пользователя root будет успешным.mysql -u root -p
Описанная выше процедура одинаково подходит как для сервера MySql, так и для сервера MariaDB, с тем лишь исключением, что название сервисов может быть не mysql (mysqld), а mariadb.
Похожие статьи:
02 июль 2018, Понедельник
Как узнать версию дистрибутива Linux и его название?
13 октябрь 2018, Суббота
Как определить размер таблиц в БД MySQL
13 декабрь 2017, Среда
Как сбросить пароль root для MySQL в среде Windows
26 март 2018, Понедельник
Как определить количество соединений в MySQL
05 февраль 2018, Понедельник
Как определить размер БД MySQL
Комментарии: