MariaDB либо не разрешает хосту подключаться, либо пользователю запрещен доступ

0

У меня есть проект Laravel, который отлично работает на моей локальной машине, но не может подключиться к базе данных на другом сервере Linux.

Ошибка, которую я получаю:

SQLSTATE[HY000] [1045] Access denied for user 'cpanel1_thewatcher'@'localhost' (using password: YES)

Это настройки, которые я использую:

DB_CONNECTION=mysql
DB_HOST=localhost
DB_PORT=3306
DB_DATABASE=dbnamehere
DB_USERNAME=cpanel1_thewatcher
DB_PASSWORD=passwordhere

Я проверил, чтобы cpanel1_thewatcher имел ALL PRIVILEGES в этой базе данных и что пароль правильный.

Это на VPS, где у меня есть root-доступ, и у него есть два IP-адреса, посвященных этому. Главный IP-адрес мы будем называть xxx.xxx.xx.165, а второй - xxx.xxx.xx.166. Если я изменил настройки выше, чтобы установить DB_HOST на xxx.xxx.xx.166, я получаю другую ошибку:

SQLSTATE[HY000] [1130] Host 'xxx.xxx.xx.166' is not allowed to connect to this MariaDB server 

Если я установил DB_HOST в xxx.xxx.xx.165, то я получу еще одну ошибку:

SQLSTATE[HY000] [1045] Access denied for user 'cpanel1_thewatcher'@'server1.domain.com'

Если я установил DB_HOST на DB_HOST (основной домен на сервере), я получаю ту же ошибку, которую я получаю с DB_HOST = xxx.xxx.xx.166.

Я изучил таблицу mysql.user на сервере и нашел следующее:

+-------------------+----------------------+
| User              | Host                 |
+-------------------+----------------------+
| root              | 127.0.0.1            |
| cpanel1            | xxx.xxx.xx.165       |
| cpanel1_thewatcher | xxx.xxx.xx.165       |
| root              | ::1                  |
| cpanel1            | localhost            |
| cpanel1_thewatcher | localhost            |
| nagios            | localhost            |
| root              | localhost            |
| cpanel1            | server1.domain.com |
| cpanel1_thewatcher | server1.domain.com |
| root              | server1.domain.com |
+-------------------+----------------------+
  • где cpanel1 является именем пользователя единственной учетной записи cPanel на сервере.

Я попытался создать запись в таблице выше, где пользователь cpanel1_thewatcher а хост - % но никакого эффекта. Я также попытался установить DB_USERNAME только на thewatcher но ничего не изменилось в сообщениях об ошибках.

Я видел некоторые вопросы о SO, ссылаясь на второе сообщение об ошибке, указанное мной, но мне не удалось найти файл конфигурации MariaDB где-нибудь на моем сервере, как это было предложено некоторыми ответами.

Выполнение GRANT ALL PRIVILEGES ON dbnamehere.* TO 'cpanel1_thewatcher'@'localhost'; дает

Query OK, 0 rows affected (0.00 sec)

Может ли кто-нибудь сказать мне, что делать, меня путают с двумя IP-адресами и тремя различными сообщениями об ошибках здесь, и не уверен, что еще попробовать. Я хотел бы устранить любые проблемы на моем конце, прежде чем прибегать к контакту с хостинговой компанией и ждать недели, чтобы они ее разрешили.

  • 0
    Как вы проверили пароль правильный?
  • 0
    Я удалил базу данных и пользователя, а затем заново создал все с именем dbname, username и password из файла env. Те же сообщения остались.
Показать ещё 3 комментария
Теги:
mariadb

1 ответ

1
Лучший ответ

Для подключения к удаленной базе данных необходимо выполнить следующие действия:

На сервере базы данных выполните следующую команду на консоли mariadb:

CREATE USER 'cpanel1_thewatcher'@'xxx.xxx.xx.166';

С последующим:

GRANT ALL PRIVILEGES ON dbnamehere.* TO 'cpanel1_thewatcher'@'xxx.xxx.xx.166';
FLUSH PRIVILEGES;

Где xxx.xxx.xx.166 - это ip машины, которую вы пытаетесь подключить (где живет ваш проект laravel)

Ещё вопросы

Сообщество Overcoder
Наверх
Меню