Сброс пароля root в MySQL и MariaDB: пошаговое руководство

MySQL / MariaDB · 19.04.2026
Сброс пароля root в MySQL и MariaDB: пошаговое руководство

Сброс пароля root в MySQL 8.0 / MariaDB 10.4+

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

Метод 1: --skip-grant-tables (универсальный)

# 1. Остановить MySQL
sudo systemctl stop mysql
# или
sudo systemctl stop mariadb

# 2. Запустить без проверки привилегий
sudo mysqld_safe --skip-grant-tables --skip-networking &

# 3. Подключиться без пароля
mysql -u root

# 4. Сбросить пароль
FLUSH PRIVILEGES;
ALTER USER 'root'@'localhost' IDENTIFIED BY 'NewPassword123!';

# Для MariaDB < 10.4:
UPDATE mysql.user SET authentication_string=PASSWORD('NewPassword123!') WHERE User='root';
FLUSH PRIVILEGES;

# 5. Выйти и перезапустить
EXIT;
sudo killall mysqld_safe mysqld
sudo systemctl start mysql

Метод 2: init-file (MySQL 8.0 рекомендуется)

# 1. Создать файл с SQL-командой
cat > /tmp/mysql-reset.sql << 'EOF'
ALTER USER 'root'@'localhost' IDENTIFIED BY 'NewPassword123!';
EOF

# 2. Остановить MySQL
sudo systemctl stop mysql

# 3. Запустить с init-file
sudo mysqld --init-file=/tmp/mysql-reset.sql --user=mysql &

# 4. Подождать запуска и убить
sleep 5 && sudo killall mysqld

# 5. Удалить файл и перезапустить
rm /tmp/mysql-reset.sql
sudo systemctl start mysql
mysql -u root -p
Для MySQL 8.0 используйте метод с init-file — он безопаснее и не отключает сетевое подключение.

Метод 3: через операционную систему (Ubuntu/Debian)

# На Ubuntu MySQL может использовать unix_socket аутентификацию
sudo mysql
# Если это работает без пароля — можно сменить пароль:
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'NewPass!';
FLUSH PRIVILEGES;

Смена пароля для обычного пользователя

# Зная текущий пароль root:
mysqladmin -u root -pCurrentPassword password NewPassword123!

# Через SQL:
ALTER USER 'username'@'localhost' IDENTIFIED BY 'NewPassword123!';
FLUSH PRIVILEGES;
После сброса пароля обязательно: обновите пароль в конфигурационных файлах приложений (.env, wp-config.php, config.php и т.д.), иначе сайт перестанет работать.
← Назад в базу знаний Задать вопрос поддержке