# How to reset MySQL password

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

Если Вы забыли или потеряли root пароль от MySQL или MariaDB, то его вполне можно восстановить, причём сделать это не так сложно.

В этой статье мы разберём процесс сброса пароля root для MySQL и MariaDB серверов.

### MySQL или MariaDB? <a href="#mysql-mariadb" id="mysql-mariadb"></a>

Чтобы определить, какой сервер у Вас используется, нужно выполнить команду:

```bash
mysql --version
```

В результате Вы увидите следующий вывод для MySQL:

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

И такой вывод для MariaDB:

```
mysql Ver 15.1 Distrib 5.5.52-MariaDB, for Linux (x86_64) using readline 5.1
```

### Остановите сервер БД <a href="#id-1" id="id-1"></a>

Для изменения пароля необходимо остановить MySQL или MariaDB сервер.

Если Вы используете MySQL:

```bash
systemctl stop mysql
```

Если Вы используете MariaDB:

```bash
systemctl stop mariadb
```

### Запуск сервера БД в безопасном режиме <a href="#id-2" id="id-2"></a>

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

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

```bash
mysqld_safe --skip-grant-tables --skip-networking &
```

Далее, войдите в командную строку сервера БД под пользователем root:

```bash
mysql -u root
```

### Изменение пароля <a href="#id-3" id="id-3"></a>

Самый простой способ изменить пароль - использовать команду `ALTER USER`. Однако, эта команда недоступна из-за того, что мы не загрузили привилегии.

Чтобы команда сработала, выполните:

```sql
FLUSH PRIVILEGES;
```

Теперь Вы можете непосредственно установить новый пароль с помощью одной из следующих команд.

Если Вы используете MySQL 5.7.6 и выше, либо MariaDB 10.1.20 и выше, то Ваша команда:

```sql
ALTER USER 'root'@'localhist' IDENTIFIED BY '<НОВЫЙ ПАРОЛЬ>';
```

Если Вы используете MySQL версии 5.7.5 и ниже, либо MariaDB 10.1.20 и ниже, то:

```sql
SET PASSWORD FOR 'root'@'localhost' = PASSWORD('<НОВЫЙ ПАРОЛЬ>');
```

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

```
Query OK, 0 rows affected (0.00 sec)
```

### Запуска сервера БД в обычном режиме <a href="#id-4" id="id-4"></a>

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

Для MySQL введите команду:

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

Для MariaDB:

```bash
kill `cat /var/run/mariadb/mariadb.pid`
```

Далее запустите сервер БД с помощью утилиты systemctl.

Для MySQL:

```bash
systemctl start mysql
```

Для MariaDB:

```bash
systemctl start mariadb
```

Теперь проверьте, можете ли Вы войти в командную строку сервера БД с новым паролем, для этого введите команду:

```bash
mysql -u root -p
```

Далее у Вас будет запрошен пароль, введите его и нажмите **`ENTER`**. Если войти удастся, значит изменение пароля прошло успешно.<br>


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://help.vdsnow.ru/english/tutorials/vds-configuration/databases/how-to-reset-mysql-password.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
