Intereting Posts
opencart – Как вручную отображать модуль внутри файла шаблона? Создайте форму как услугу в Symfony2 Regex PRCE PHP preg_match_all: Как удалить пустые узлы в массиве совпадений? Вызов статического метода из имени строки в PHP регулярные выражения – сопоставление всех якорей с необязательными атрибутами CodeIgniter вызывает обратный вызов в пользовательском классе form_validation Отображение Php Array приводит к таблице Html Как использовать коллекции на фабрике fieldset в ZF2 Предотвращение тайм-аута шлюза nginx 504 с помощью PHP set_time_limit () nginx: connect () не удалось (111: соединение отказано) при подключении к восходящему потоку array_unique с двумя массивами CakeResque – Resque не найден в … app / Plugin / CakeResque / Lib / CakeResque.php в строке 82 Facebook SDK вернул ошибку: проверка подделки на основе перекрестного запроса не удалась. Параметр «состояние» из URL-адреса и сеанса не соответствует Диаграмма Google с данными CSV: ошибка столбцов PHP-кодирование PHP

Отключено подключение базы данных Mysql

Я пытаюсь запустить приложение Symfony 3 в режиме производства на экземпляре Amazon EC2.

У меня есть код в правильном месте, а затем я пытаюсь настроить любые зависимости с композитором, запустив

export SYMFONY_ENV=prod composer install --no-dev --optimize-autoloader 

но получить ошибку

 > Sensio\Bundle\DistributionBundle\Composer\ScriptHandler::installAssets [Doctrine\DBAL\Exception\ConnectionException] An exception occured in driverL SQLSTATE[HY000] [1044] Access denied for user 'my-user'@'127.0.0.1' to database 'my_database' 

Затем эта ошибка передается до [Doctrine\DBAL\Driver\PDOException] и [PDOException] до завершения сценария. Затем следует сообщение

 [RuntimeException] An error occured when executing the "'assets:install --symlink --rela'\''web'\'''" command: 

за которым затем следуют те же ошибки, что и в начале.

Мой файл parameters.yml

 parameters: database_host: 127.0.0.1 database_port: 3306 database_name: my_database database_user: my-user database_password: mypassword server_version: 5.6 mailer_transport: smtp mailer_host: 127.0.0.1 mailer_user: null mailer_password: null secret: Mysecret registration_permitted: true registration_limit: 3 

и пользователь my-user имеет все права доступа к базе данных my_database кроме GRANT.

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

Дополнительная информация

  • Запуск mysql -u my-user -p запрашивает пароль, а затем позволяет мне войти в систему.
  • Запуск mysql -u my-user -p -D my_database запрашивает пароль, а затем возвращает ERROR 1044 (42000): Access denied for user 'my-user'@'localhost' to database 'my_database' .
  • Вход в mysql как root и запуск SHOW GRANTS FOR 'my-user'; возвращает ERROR 1141 (42000): There is no such grant defined for user 'my-user' on host '%' .
  • Вход в mysql как root и запуск SHOW GRANTS FOR 'my-user'@'localhost'; возвращает GRANT USAGE ON *.* TO 'my-user'@'localhost' IDENTIFIED BY PASSWORD hashedPassword .

Дополнительная информация 2 После удаления my-user ( 'my-user'@'localhost' и 'my-user'@'127.0.0.1' 'my-user'@'localhost' 'my-user'@'127.0.0.1' ), а затем 'my-user'@'127.0.0.1' их, используя GRANT ALL PRIVILEGES ON my_database.* TO 'my-user'@'localhost' IDENTIFIED BY 'password'; а также GRANT ALL PRIVILEGES ON my_database.* TO 'my-user'@'127.0.0.1' IDENTIFIED BY 'password'; а затем FLUSH PRIVILEGES; Результат SHOW GRANTS FOR 'my-user'@'localhost' тогда

 GRANT USAGE ON *.* TO 'my-user'@'localhost' IDENTIFIED BY PASSWORD 'passwordHash' GRANT ALL PRIVILEGES ON 'my_database' TO 'my-user'@'localhost' 

и аналогичный вывод для 'my-user'@'127.0.0.1' .

Но это все еще дает мне те же ошибки, что и раньше, больше идей?

Related of "Отключено подключение базы данных Mysql"

Как уже говорилось в комментариях, у вас не было привилегий в базе данных. Поэтому выполнение этой проблемы устраняет вашу проблему:

 GRANT ALL PRIVILEGES ON my_database.* TO 'my-user'@'localhost' 

О вашем сомнении, почему вам пришлось изменить его на localhost в своих параметрах, потому что это то, что вы говорите mysql. Представьте, что вы хотите ограничить доступ к базе данных только определенным IP-адресом в своей сети, которую вы могли бы запустить

 GRANT ALL PRIVILEGES ON my_database.* TO 'my-user'@'192.168.1.10' 

Поэтому замените 192.168.1.10 на 127.0.0.1, и вы можете использовать 127.0.0.1 в своих параметрах