Мне нужна помощь для сценария php для подключения к базе данных mysql.
Я установил VirtulaBox и Vagrant и настроил сервер Ubuntu 16.04. На сервере я установил apache2 , php7.0 и mariadb .
Я создал второго пользователя mysql (помимо корневого), и я могу подключиться в командной строке к mysql как с корневым, так и с новым пользователем.
Я загрузил небольшое тестовое приложение на сервер, и все прошло хорошо, пока приложение не должно подключиться к базе данных. Я получаю сообщение об ошибке ниже:
«Не удалось подключиться к MySql: доступ запрещен для пользователя 'Lucian' @ 'localhost' (используется пароль: YES)"
На уровне mysql у меня есть два пользователя: root и lucian . Я могу подключиться к ним обоим из командной строки. Пользователь lucian @ localhost - это пользователь, который использовал ssh для входа на сервер из Vagrant на основе пары открытых / закрытых ключей.
Похоже, что скрипт пытается подключиться к mysql с помощью бродячего пользователя. Еще одна вещь, если я пытаюсь подключиться к терминалу просто с помощью команды mysql -p , я получаю похожее сообщение об ошибке (даже если я использую пароль для пользователя root). Я попытался установить соединение с PHPStorm, но у меня тоже не получилось. PHP-скрипт выглядит следующим образом:
<?php DEFINE('DB_USER', 'lucian'); DEFINE('DB_PASSWORD', 'xxx'); DEFINE('DB_HOST', '127.0.0.1'); DEFINE('DB_NAME', 'portal');
$dbc = @mysqli_connect(DB_HOST, DB_USER, DB_PASSWORD, DB_NAME) OR die ('Could not connect to MySql: '. mysqli_connect_error() );
Меня удивляет то, что скрипт (который находится на сервере) не использует правильные учетные данные, которые работают из командной строки ? Любая помощь приветствуется! Спасибо!