2013-05-01 4 views
11

Я попытался создать свою БД с помощью Symfony2. Я набрал команду:SQLSTATE [28000] [1045] Доступ запрещен для пользователя 'root' @ 'localhost' (с использованием пароля: YES) Symfony2

php app/console doctrine:create:database 

Результат является:

Could not create database for connection named `jobeet` 
SQLSTATE[28000] [1045] Access denied for user 'root'@'localhost' (using password: YES) 

Содержимое моего app/config/parameters.yml файла:

parameters: 
    database_driver: pdo_mysql 
    database_host:  127.0.0.1 
    database_port:  ~ 
    database_name:  jobeet 
    database_user:  root 
    database_password: 0000 

    mailer_transport: smtp 
    mailer_host:  127.0.0.1 
    mailer_user:  ~ 
    mailer_password: ~ 

    locale:   fr 
    secret:   ThisTokenIsNotSoSecretChangeIt 

Моя ОС Ubuntu.

Я не знаю, что делать, чтобы исправить эту проблему.

Благодарим за помощь.

+5

Доступ запрещен для пользователя 'корень' @ «localhost» (с использованием пароля: YES) - ошибка соединения с MySQL. Обычно подразумевается недействительный пользователь и/или пароль. Иногда для этого нужно использовать localhost, а не 127.0.0.1. – rncrtr

+1

Является ли пароль в кавычках? –

+3

Поздравляем !!! Пароль должен вводить кавычки. Большое спасибо!! Как сделать этот пост при разрешенном статусе? – mentaga

ответ

12

Попробуйте войти через терминал с помощью следующей команды:

mysql -u root -p 

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

database_password: "0000" 
+2

Я могу войти через терминал на мой сервер mysql. Я не думаю, что проблема с пользователем и паролем. Я попытался создать свою БД с 2-х часов без результатов. – mentaga

+0

В этом случае попробуйте установить: database_port: '3306' –

+3

Я добавляю номер порта 3306, и у меня всегда была одна и та же проблема. – mentaga

2

Хорошо, так что это не может устранить проблему, но он определенно работал для меня.

Итак, вы создали своего пользователя Mysql, я его принимаю? Перейдите в пользовательские привилегии на PhpMyAdmin и нажмите править рядом с пользователем, использующим для Symfony. Прокрутите вниз до самого нижнего и где указано, какой хост вы хотите использовать, убедитесь, что вы выбрали LocalHost не% Any.

Затем в вашем файле конфигурации файла 127.0.0.1 для localhost. Надеюсь, это сработает для вас. Просто работал для меня, поскольку у меня была такая же проблема.

0

У меня были аналогичные проблемы, связанные с базой данных OpenSUSE 13.1 MySQL с LibreOffice. Обновите LibreOffice до последнего стабильного пакета «Still», затем убедитесь, что база данных доступна с помощью такого инструмента, как phpMyAdmin. Убедитесь, что ваш пользователь связан с localhost, а не с «%» (любой). Это сработало для меня, я могу добавить данные через LibreOffice.

Сторона примечания - LibreOffice Base не будет поставлять «родное соединение» через MySQL при первой попытке, вам нужно будет использовать кнопку «Назад», а затем повторите попытку, чтобы увидеть параметры.

Надеюсь, это поможет.

3

в приложении/Config/parameters.yml

# This file is auto-generated during the composer install 
parameters: 
    database_driver: pdo_mysql 
    database_host: 127.0.0.1 
    database_port: 3306 
    database_name: symfony 
    database_user: root 
    database_password: "your_password" 
    mailer_transport: smtp 
    mailer_host: 127.0.0.1 
    mailer_user: null 
    mailer_password: null 
    locale: en 
    secret: ThisTokenIsNotSoSecretChangeIt 

database_password должен быть внутри двойных кавычках (") или одинарные кавычки (').

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

+1

Действительно, @Nadun Liyanage на самом деле прав, база данных паролей должна находиться между «», как это, например, «0000», потому что это строка. –

+0

Он прав. Вау, спасибо! Как ни странно, встроенный сервер Symfony 3 принят без кавычек. Используя nginx, мне действительно нужны эти кавычки, иначе это не сработало -> Access denied for user issue. – danger89

5

Я не знаю, что это точная причина, но я решил проблему бегущего

app/console cache:clear --env=prod 
+0

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

2

Вам необходимо установить пароль для [email protected], чтобы он был пустым.Есть два способа:

  • для MySQL SET PASSWORD Команда:

    SET PASSWORD FOR [email protected]=PASSWORD(''); 
    
  • с помощью командной строки, mysqladmin инструмент:

    mysqladmin -u root -pCURRENTPASSWORD password '' 
    
+0

Спасибо, что спасли мне настоящую головную боль - я сначала попробовал это с MariaDB, но потом сломал его, затем возникли проблемы с mysql.sock, а затем проблемы с разрешениями и т. д. Это, наконец, разрешило это для меня. – SMT

Смежные вопросы

 Смежные вопросы