Разрешение «ОШИБКИ 1698 (28000): доступ запрещен для пользователя root @ localhost » в MySQL

Предоставленное вами сообщение об ошибке «ОШИБКА 1698 (28000): доступ запрещен для пользователя «root» @ «localhost» обычно возникает при попытке выполнить операцию с пользователем root MySQL без необходимых привилегий. Эта ошибка обычно возникает при попытке войти в систему или выполнить административные задачи с использованием учетной записи пользователя root.

Чтобы решить эту проблему, вы можете попробовать несколько способов вместе с примерами кода:

Метод 1: сброс пароля root
Одним из возможных решений является сброс пароля root, выполнив следующие действия:

  1. Остановите службу MySQL.
  2. Запустите службу MySQL с опцией «–skip-grant-tables». Это позволяет вам запускать MySQL без аутентификации по паролю.
  3. Подключитесь к серверу MySQL как пользователь root.
  4. Установите новый пароль для пользователя root.
  5. Сбросьте привилегии и перезапустите службу MySQL.

Вот пример команд, которые вы можете использовать в среде Linux:

$ sudo systemctl stop mysql
$ sudo mysqld_safe --skip-grant-tables &
$ mysql -u root
mysql> FLUSH PRIVILEGES;
mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY 'new_password';
mysql> exit
$ sudo systemctl start mysql

Метод 2. Предоставление достаточных привилегий
Если вы пытаетесь выполнить определенную операцию и столкнулись с ошибкой «Отказано в доступе», возможно, вам придется предоставить пользователю необходимые привилегии. Например, если вы пытаетесь создать новую базу данных, вы можете предоставить права с помощью следующих команд:

mysql> GRANT ALL PRIVILEGES ON *.* TO 'root'@'localhost';
mysql> FLUSH PRIVILEGES;

Метод 3: проверка файла конфигурации MySQL
Убедитесь, что файл конфигурации MySQL (my.cnf или my.ini) настроен правильно. Найдите директиву «bind-address» и убедитесь, что для нее установлено значение «127.0.0.1» или «localhost», чтобы разрешить подключения с локального компьютера.

Метод 4: переустановка MySQL
В крайнем случае вы можете попробовать переустановить MySQL, чтобы решить любые проблемы, связанные с конфигурацией или разрешениями. Обязательно создайте резервную копию баз данных перед переустановкой.