Ошибка 1045 (28000) доступ запрещен для пользователя root localhost (решено)

Опубликовано: 2023-03-14

«Ошибка 1045 (28000) доступ запрещен для пользователя root localhost» — это часто встречающаяся ошибка при попытке доступа к MySQL через WordPress CMS. Однако эта ошибка может возникать и в других ситуациях.

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

Вот несколько шагов, которые вы можете предпринять, чтобы устранить эту ошибку

1. Проверьте имя пользователя и пароль

Убедитесь, что вы используете правильное имя пользователя и пароль. Имя пользователя должно быть «root», а пароль должен быть тем, который вы установили в процессе установки.

Если вы используете WordPress, вам необходимо проверить файл wp-config.php . Файл можно найти в основной папке WordPress.

wp-config.php

После открытия файла и попытки его редактирования (код Visual Studio) вы увидите этот экран:

отредактируйте wp-config.php имя пользователя и пароль БД

Проверьте DB_USER и DB_PASSWORD, если они имеют правильные значения.

 /** Database username */ define( 'DB_USER', 'root' );
 /** Database password */ define( 'DB_PASSWORD', 'root' );

Если вы не знаете, какое у вас имя пользователя и пароль для БД, перейдите в cPanel > База данных > Mysql и проверьте его.

как получить доступ к базе данных mysql с помощью cpanel

Чтобы изменить пароль базы данных WordPress, следуйте инструкции: Изменить пароль WordPress в PHPMyAdmin.

2. Проверьте, есть ли у пользователя необходимые привилегии

Проверьте, есть ли у пользователя «root» необходимые привилегии для доступа к базе данных.

Шаг 1: Во-первых, вам нужно открыть терминал и написать ssh [email protected]

 ssh [email protected]

Шаг 2: После успешного входа в систему запишите эту команду

 mysql -uroot -p

Шаг 3: После добавления пароля вы можете начать добавлять свою команду из командной строки mysql.

Шаг 4: Вы можете использовать следующую команду для проверки привилегий:

 SHOW GRANTS FOR 'root'@'localhost';

Это покажет вам список привилегий, которые пользователь «root» имеет для сервера «localhost». Если у пользователя нет необходимых привилегий, вы можете предоставить их с помощью следующей команды:

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

Примечание. Замените «пароль» на пароль, который вы хотите использовать.

Чтобы проверить, есть ли у пользователя необходимые привилегии с помощью phpMyAdmin, выполните следующие действия:

  1. Войдите в свою учетную запись phpMyAdmin.
  2. Нажмите на вкладку «Учетные записи пользователей».
  3. Выберите пользователя root (или того, пароль которого вы хотите изменить)
  4. Щелкните ссылку Изменить привилегии.
  5. Здесь вы можете увидеть список привилегий, которые были предоставлены пользователю.
  6. Убедитесь, что пользователю предоставлены необходимые привилегии для доступа к базе данных.
  7. Если у пользователя нет необходимых привилегий, вы можете предоставить их, установив соответствующие флажки и нажав кнопку «Перейти».
  8. После того, как вы предоставили необходимые привилегии, попробуйте снова получить доступ к базе данных, чтобы убедиться, что проблема решена.
ссылка на редактирование привилегий phpmyadmin

Настройки в выделенной области должны быть проверены:

привилегии пользователя phpmyadmin

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

3. Проверьте состояние сервера MySQL.

Убедитесь, что сервер MySQL запущен. Вы можете проверить состояние сервера, выполнив следующую команду после входа в оболочку сервера:

 systemctl status mysql

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

 systemctl start mysql

Чтобы проверить статус Mysql на хостинге cPanel, вам необходимо войти в панель управления хостингом. Другой способ — связаться напрямую с вашим хостинг-провайдером.

4. Проверьте, прослушивает ли сервер MySQL правильный порт.

Убедитесь, что сервер MySQL прослушивает правильный порт. Порт по умолчанию для MySQL — 3306 .

Чтобы проверить, прослушивает ли сервер MySQL правильный порт, выполните следующие действия:

1. Откройте терминал или командную строку на вашем сервере, где установлен MySQL.

2. Подключитесь к серверу MySQL с помощью клиента командной строки. Вы можете использовать следующую команду, заменив username и password своими фактическими учетными данными MySQL:

 mysql -u username -p

3. После подключения к серверу MySQL введите следующую команду, чтобы отобразить номер порта, который прослушивает сервер MySQL:

SHOW VARIABLES LIKE 'port';

Эта команда отобразит номер порта, который прослушивает сервер MySQL. По умолчанию MySQL прослушивает порт 3306.

Вы также можете проверить номер порта в файле конфигурации MySQL.

Файл конфигурации обычно называется my.cnf или my.ini и находится в каталоге установки MySQL.

Чтобы найти каталог установки MySQL, вы можете выполнить следующие действия:

1. Откройте терминал или командную строку на вашем сервере, где установлен MySQL.

2. Введите следующую команду, чтобы проверить, установлен ли MySQL:

which mysql

Если MySQL установлен, эта команда отобразит путь к исполняемому файлу mysql , в противном случае вы получите сообщение об ошибке.

Если MySQL установлен, вы можете снова использовать команду which , чтобы найти каталог установки. Введите следующую команду, заменив /path/to/mysql на путь к исполняемому файлу mysql :

 which mysql | xargs readlink -f | sed "s|bin/mysql$||"

Эта команда отобразит каталог установки MySQL. Вы можете использовать этот каталог для поиска файла конфигурации MySQL ( my.cnf или my.ini ) и других файлов и каталогов MySQL.

В качестве альтернативы, если у вас есть доступ к клиенту MySQL, вы также можете выполнить следующий запрос, чтобы найти каталог установки MySQL:

 SELECT @@basedir;

Это отобразит каталог установки MySQL.

Вы также можете проверить файл конфигурации MySQL, чтобы проверить номер порта, который MySQL настроен для прослушивания. Файл конфигурации обычно называется my.cnf или my.ini и находится в каталоге установки MySQL.

my.cnf и порт sql

Откройте файл конфигурации с помощью текстового редактора и найдите параметр порта. Значение этого параметра указывает номер порта, который MySQL настроен для прослушивания.

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

Не забудьте перезапустить службу Mysql, если вы изменили порт:

 service mysql restart

5. Сбросьте пароль root

Если ни один из вышеперечисленных шагов не работает, вы можете попробовать сбросить пароль root. Вы можете сделать это, выполнив действия, описанные в этой статье:

https://dev.mysql.com/doc/refman/8.0/en/resetting-permissions.html

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

Возможно, вам будет интересно прочитать:

Как исправить ошибку «Ошибка установки: не удалось создать каталог» в WordPress

Как исправить зависание WordPress в режиме обслуживания (РЕШЕНО)

Как исправить ошибку «Обновление не удалось. Ответ не является допустимым ответом JSON».

Как исправить «Ошибка установления соединения с базой данных»? – 2023 г.