php mysql ssl коннект сбой с отказом в доступе - PullRequest
0 голосов
/ 28 июня 2019

Я пытаюсь подключиться к удаленному серверу Mysql, используя ssl из моего приложения PHP Yii .Я могу установить соединение и могу запрашивать БД при этом из консоли yii, используя приведенную ниже команду

./yii script.

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

php yii serve --port = 8090

Я получаю следующую ошибку:

yii \ base \ ErrorException: mysqli_real_connect (): (HY000 / 1045): доступ запрещен для пользователя 'userName '@' IP '(используя пароль: YES).

Я проверил настройку php, напечатав phpInfo() из обоих мест, и она одинакова.Поэтому я не могу понять, в чем может быть проблема здесь.Я был бы очень признателен за любую помощь / указатели для решения этой проблемы.

спецификация: php 7.1.28, Yii2

Обновление 1

У рассматриваемого приложения есть своя собственная конкретная БД, к которой я подключаюсь с помощью PDO (это нормально).Затем существует этот удаленный сервер Mysql, к которому я не могу подключиться с помощью PDO из-за проблемы сопоставления SSL-пиров.Я попытался решить эту проблему, выполнив

PDO::MYSQL_ATTR_SSL_VERIFY_SERVER_CERT => False

, но константа отсутствует в PDO.Однако, если я сделаю

php -r ‘var_dump(PDO::MYSQL_ATTR_SSL_VERIFY_SERVER_CERT);’

, я получу int (1014) в качестве вывода.Не уверен, почему мое приложение не выбирает константу.

1 Ответ

0 голосов
/ 01 июля 2019

Открыть новый терминал

sudo /etc/init.d/mysql stop ... MySQL Community Server 5.7.8-rc is stopped

sudo mysqld_safe --skip-grant-tables и это пропустит все привилегии уровня привилегий и запустит mysql в безопасном режиме. Иногда процесс зависает только из-за

grep: ошибка записи: Сломанный канал 180102 11:32:28 mysqld_safe Ведение журнала в '/var/log/mysql/error.log'.

Просто нажмите Ctrl + Z или Ctrl + C, чтобы прервать и выйти из процесса

mysql -u root

Добро пожаловать на монитор MySQL. Команды заканчиваются на; или \ g. Ваш идентификатор подключения MySQL: 2 Версия сервера: 5.7.8-rc MySQL Community Server (GPL)

Copyright (c) 2000, 2015, Oracle и / или ее филиалы. Все права защищены.

Oracle является зарегистрированным товарным знаком корпорации Oracle и / или ее филиалов. Другие названия могут являться товарными знаками соответствующих владельцев.

Введите 'help;' или '\ h' за помощь. Введите '\ c', чтобы очистить текущий оператор ввода.

mysql> use mysql;

Чтение информации о таблице для заполнения имен таблиц и столбцов Вы можете отключить эту функцию, чтобы ускорить запуск с помощью -A

База данных изменена

mysql> update user set authentication_string=password('password') where user='root'; Запрос в порядке, 4 строки затронуты, 1 предупреждение (0,03 с) Соответствующие строки: 4 Изменено: 4 Предупреждения: 1

mysql> flush privileges; Запрос в порядке, затронуто 0 строк (0,00 с)

mysql> quit Пока

sudo /etc/init.d/mysql stop

.. 180102 11:37:12 mysqld_safe mysqld из файла pid /var/run/mysqld/mysqld.pid завершен. * MySQL Community Server 5.7.8-rc остановлен arif @ ubuntu: ~ $ sudo /etc/init.d/mysql start .. * MySQL Community Server 5.7.8-rc запущен

mysql -u root -p

Enter password:

Добро пожаловать на монитор MySQL. Команды заканчиваются на; или \ g. Ваш идентификатор соединения MySQL: 2 Версия сервера: 5.7.8-rc MySQL Community Server (GPL)

после версии mysql 5.7+ пароль столбца заменяется именем authentication_string из таблицы mysql.user.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...