Почему cPanel не предоставляет доступ моему пользователю даже со всеми разрешенными привилегиями? - PullRequest
0 голосов
/ 26 июня 2018

Это сводило меня с ума в течение нескольких дней.Я создал базу данных в cPanel с пользователем и включил все флажки привилегий.

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

Исключение PDO: SQLSTATE [HY000] [1045] Доступ запрещен для пользователя '
graphgr1_mhazaa' @ 'localhost' (с использованием пароля: YES)

Я попытался выполнить доступ к базе данных локально из командной строки

  mysql -u myUsername -pMyPassword -h remoteHostIP -D databaseName

и он показал:

ОШИБКА 1045 (28000): доступ запрещен для пользователя 'username'@'c-174-53-152-193.hsd1.mn.comcast.net '(используя пароль: ДА)

Я даже пытался получить доступ к базе данных с правами root

 mysql.exe -u root -h remoteHostIp -D databaseName

То же сообщение.Я почти уверен, что все слова и имена были написаны правильно и пробовал их на разных компьютерах.Так есть идеи, в чем может быть проблема?

Ответы [ 2 ]

0 голосов
/ 14 января 2019

У меня немного другое мнение.

Мне удалось получить доступ к моей базе данных MySql с помощью Sequel Pro на моем ноутбуке Mac, сгенерировав ключ SSH в cpanel и скопировав его (файл id_rsa) на мой Mac.

Тогда он не будет работать, если вы не измените разрешение для этого файла на 400

chmod 400 filename

Однако, как только Sequel Pro заработал, я попытался прочитать мою базу данных через python, используя pymsql.

Это привело к бесконечным проблемам и бросило несколько вариантов обсуждаемой ошибки.

После огромного количества возни с mysql в окне терминала я сдался и повернулся к местномуГуру UNIX, который придумал следующее решение.

В терминале наберите

ssh -i id_rsa -L 3307:yourcpanel.hosted.xxx:3306 yourcpanelusername@your cpanel.hosted.xxx -N

Для получения дополнительной информации найдите 'ssh port forward only no shell'

Насколько далеконасколько я понимаю, он открывает локальный порт с номером 3307 на Mac и подключается к cpanel через порт 3306 с помощью ключа id_rsa и запрещает команды.Как только это будет запущено и запущено ...

В вашем коде Python используйте несколько вариантов для этого

db = pymysql.connect(host=DB_HOST, user=DB_USER, passwd=DB_PWD, db=DB_NAME,  port=DB_PORT)  

, где DB_HOST = 'localhost', DB_USER = имя пользователя вашей базы данных cpanel, DB_PWD = ваша база данныхпароль, DB_NAME = имя вашей базы данных cpanel, DB_PORT = 3307

0 голосов
/ 26 июня 2018

Исключение PDO: SQLSTATE [HY000] [1045] Доступ запрещен для пользователя 'graphgr1_mhazaa' @ 'localhost' (используется пароль: YES)

Для подключения из сценария в вашей cPanelУчетная запись в базе данных также в вашей учетной записи cPanel вам нужно просто

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

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

  1. Иметь базу данных и назначенного ей пользователя.
  2. Разрешить локальноеIP-адрес компьютера в инструменте cPanel Remote MySQL

Способ работы MySQL, размещенной на cPanel, заключается в том, что для всех соединений MySQL требуются авторизованные IP-адреса.

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

Используя SSH, вы можете подключиться, просто используя

mysql -u YOUR_USER -p YOUR_DATABASE ## MySQL added User connection, sees only databases it has access to
mysql -u cPanel_USER -p             ## cPanel User connection, sees all databases added in your cPanel account
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...