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.