Устранение ошибки «Доступ запрещен к MySQL» для пользователя «root» @ «localhost» в Ubuntu 20.04

MySQL — популярная система управления реляционными базами данных с открытым исходным кодом, используемая многими разработчиками и системными администраторами. Однако появление ошибки «доступ запрещен» для пользователя «root» на локальном хосте может расстроить. В этой статье мы рассмотрим несколько способов устранения и решения этой проблемы в Ubuntu 20.04, приведя попутно примеры кода.

Метод 1: проверка статуса службы MySQL

Шаг 1. Откройте терминал и введите следующую команду, чтобы проверить состояние службы MySQL:

sudo systemctl status mysql

Шаг 2. Если служба неактивна, запустите ее с помощью следующей команды:

sudo systemctl start mysql

Метод 2: сброс корневого пароля MySQL

Шаг 1. Остановите службу MySQL:

sudo systemctl stop mysql

Шаг 2. Запустите службу MySQL в безопасном режиме с помощью следующей команды:

sudo mysqld_safe --skip-grant-tables &

Шаг 3. Откройте новое окно терминала и войдите на сервер MySQL:

mysql -u root

Шаг 4. После входа в систему сбросьте пароль root:

ALTER USER 'root'@'localhost' IDENTIFIED BY 'new_password';

Шаг 5. Сбросьте привилегии и выйдите из командной строки MySQL:

FLUSH PRIVILEGES;
EXIT;

Шаг 6. Остановите работу службы MySQL в безопасном режиме:

sudo pkill mysqld_safe

Шаг 7. Запустите службу MySQL:

sudo systemctl start mysql

Метод 3. Предоставление привилегий корневому пользователю

Шаг 1. Войдите в MySQL как пользователь root:

mysql -u root -p

Шаг 2. Если вы никогда не устанавливали пароль для пользователя root, вы можете опустить флаг -p.

Шаг 3. Предоставьте все права пользователю root:

GRANT ALL PRIVILEGES ON *.* TO 'root'@'localhost' IDENTIFIED BY 'password' WITH GRANT OPTION;

Шаг 4. Сбросьте привилегии и выйдите из командной строки MySQL:

FLUSH PRIVILEGES;
EXIT;

Метод 4: проверка файлов конфигурации MySQL

Шаг 1. Откройте файл конфигурации MySQL с помощью текстового редактора:

sudo nano /etc/mysql/mysql.conf.d/mysqld.cnf

Шаг 2. Найдите строку, которая начинается с bind-address, и измените ее значение с 127.0.0.1на 0.0.0.0:

bind-address = 0.0.0.0

Шаг 3. Сохраните изменения и выйдите из текстового редактора.

Шаг 4. Перезапустите службу MySQL:

sudo systemctl restart mysql

Ошибку «доступ запрещен» для пользователя root в MySQL в Ubuntu 20.04 можно устранить различными способами. В этой статье были рассмотрены наиболее распространенные подходы, включая проверку статуса службы MySQL, сброс пароля root MySQL, предоставление привилегий пользователю root и проверку файлов конфигурации MySQL. Выполнив эти действия по устранению неполадок, вы сможете восстановить доступ к базе данных MySQL.

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