Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [SF2][Symfony] An exception occured in driver: SQLSTATE[HY000] [1698] Access denied for user 'root'@'localhost'
Forum PHP.pl > Forum > PHP > Frameworki
damianooo
Zainstalowałem Ubuntu 18.4, następnie Apache,Mysql,PHP, utworzyłem bazę , a później pobrałem swój projekt z GitHuba i wykonałem polecenie:

  1. php app/console doctrine:database:create


niestety dostałem poniższy błąd:

[Doctrine\DBAL\Exception\DriverException]
An exception occured in driver: SQLSTATE[HY000] [1698] Access denied for user 'root'@'localhost'

[Doctrine\DBAL\Driver\PDOException]
SQLSTATE[HY000] [1698] Access denied for user 'root'@'localhost'

[PDOException]
SQLSTATE[HY000] [1698] Access denied for user 'root'@'localhost'



Zauważyłem też że podobny błąd dostaję próbując zalogować się z konsoli do bazy na użytkownika root:
  1. mysql -u root

ERROR 1698 (28000): Access denied for user 'root'@'localhost'
jednak jak loguję się przez sudo to dostaję się bez problemu

ustawienia w pliku parameters.yaml
  1. parameters:
  2. database_host: 127.0.0.1
  3. database_port: null
  4. database_name: liga_typerow
  5. database_user: root
  6. database_password: qwe123
  7. mailer_transport: smtp
  8. mailer_host: 127.0.0.1
  9. mailer_user: null
  10. mailer_password: null


co robię źle ?
Tomplus
Logujesz się przez sudo, ale zainstaluj sobie np. phpmyadmin na serwerze i też spróbuj się połączyć. Wg mnie będzie dokładnie to samo.


Utwórz nowego użytkownika
Kod
CREATE USER 'newuser'@'localhost' IDENTIFIED BY 'password';
GRANT ALL PRIVILEGES ON *.* TO 'newuser'@'localhost';
FLUSH PRIVILEGES;


a potem jeszcze usuń/wykomentuj z:
/etc/mysql/mysql.conf.d/mysqld.cnf
linijkę:
bind-address = 127.0.0.1
oczywiście po tej czynności: sudo service mysql restart

Po zmianie danych na nowego usera powinno być ok.
damianooo
tak, z phpmyadmin jest to samo jednak dalej nie rozumiem co się zmieniło że w wersji Ubuntu 16 nie było takiego problemu natomiast w 18 taki problem się pojawia.
Na Ubuntu 16 miałem instrukcję co i jak po kolei konfigurować i zastosowałem ją teraz przy instalacji Ubuntu 18.

Zdaje się że wg instrukcji Symfony 2.8 w pliku parameters.yaml user powinien być root .
database_user: root
https://symfony2-docs-pl.readthedocs.io/pl/...figuration.html

Czemu teraz konieczne jest utworzenie nowego usera ?

I dlaczego powinienem usunąć tą linijkę bind-address = 127.0.0.1 ?
W parameters.yaml domyślnie też jest adres IP localhosta , tam też powinienem zmienić ?
bo jest tak: database_host: 127.0.0.1
viking
Uruchamiasz sudo mysql_secure_installation. Bo problem z symfony czy innym fw nie ma żadnego związku.
Tomplus
Właśnie, nie jesteś wstanie się zalogować z konta root na phpMyAdmin, to oznacza że to nie problem z Symfony, a z połączeniem z mysql server.
Utworzenie nowego konta rozwiąże problem. Samo tworzenie nowego konta mysql jest dobrym obyczajem nawet na prywatnym komputerze.

A bind-address usuwa się dla formalności serwer nie będzie skupiał na nasłuchiwaniu dokładnie tego IP tylko na wszystkie adresy localhost.



damianooo
ok dzięki wielkie za wyjaśnienia.
Po 20 reinstalacjach Ubuntu 18 nie mam już czasu zastanawiać się co robiłem źle w konfiguracji mysql server dlatego utworzyłem nowego usera, wprowadziłem zmianę w paramters.yaml na nowego usera no i zakomenotwałem tą linię.
Wygląda na to że działa. Dzięki!
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2024 Invision Power Services, Inc.