2016-06-22 4 views
1

Я хотел бы настроить приложение на своем рабочем сервере, но Symfony не может получить доступ к серверу MySQL.mysql access denied in prod

журналы/prod.log:

request.CRITICAL: Uncaught PHP Exception PDOException: «SQLSTATE [28000] [1045] Доступ запрещен для пользователя 'логин' @ 'локальный' (используя пароль: ДА) "

Symfony не волнует, что я установил в моих параметрах файлов:

Но я попытался изменить логин MySQL (чтобы узнать, какой файл конфигурации используется) в config/parameters.yml и config/parameters_prod.yml, а затем очистить кэш с app/console cache:clear --env=prod, но логин, который появляется в журналах/prod.log не обновляется ...

parameters: 
    database_host: 127.0.0.1 
    database_port: null 
    database_name: symfony_db 
    database_user: login 
    database_password: *** 

Как/Где я могу управлять доступом MySQL?

Примечание: Когда я пытаюсь использовать mysql -u login -p, я могу получить доступ к серверу MySQL.

+0

Возможно, попробуйте с 127.0.0.1 –

+0

@SylvainGuilbert, но когда я обновляю логин в своих конфигурационных файлах, это не учитывается symfony, я боюсь, что то же самое с server_name – Paul

+0

жаль, что не понял ваш вопрос хорошо , –

ответ

2

Вы должны отбросить кеш symfony, когда изменения внесены в config/parameters_prod.yml.

Попробуйте удалить папку «cache» в вашем приложении.

+0

Это работает !!, странно, что 'app/console cache: clear --env = prod' не работает – Paul

0

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

create user [email protected]; 
set password for [email protected] = password('symfony_user_password'); 
grant all privileges on symfony_db.* to [email protected]; 

Теперь можно попробовать подключиться к этой базе с этим пользователем:

mysql -u symfony_user -p symfony_db 

Скажи мне, если это помогает

+0

У меня уже есть пользователь, который имеет доступ только к базе данных Symfony и работает от ssh – Paul

+0

Подождите, сервер mysql - это не тот сервер, на котором Symfony есть? Установили ли вы хост db в своих настройках symfony? –

+0

Я установил config/parameters.yml и config/parameters_prod.yml Параметры: database_host: 127.0.0.1 database_port: нулевой database_name: symfony_db database_user: войти database_password: *** Я попытался изменить database_user и обновить мою страницу, но она по-прежнему старый пользователь, который появляется в журнале, так что я не знаю, как управлять доступом mysql с помощью symfony – Paul