Jak zmienić hasło roota dla mysql i phpmyadmin

41

Skonfigurowałem mysql i phpmyadmin i postanowiłem nie ustawiać hasła podczas instalacji, mając nadzieję, że po skonfigurowaniu będę mógł zalogować się przy użyciu roota i hasła, ale otrzymuję następujący błąd od phpmyadmin:

Login without a password is forbidden by configuration (see AllowNoPassword)

Wcześniej przeniosłem folder phpmyadmin do /var/www/

Próbowałem zmienić następujący wiersz

$cfg['Servers'][$i]['AllowNoPassword'] = false;

do

$cfg['Servers'][$i]['AllowNoPassword'] = true;

ale wciąż nie odniosłem sukcesu, więc zastanawiam się, czy istnieje sposób, aby zmienić hasła roota dla obu, aby uzyskać dostęp do phpmyadmin i tworzyć bazy danych.

Jon
źródło

Odpowiedzi:

59

Możesz zmienić hasło root mysql, logując się bezpośrednio do bazy danych ( mysql -h your_host -u root), a następnie uruchom

SET PASSWORD FOR root@localhost = PASSWORD('yourpassword');

phpmyadmin powinien używać tego hasła, więc nie jestem pewien, co rozumiesz przez „oba”.

Upewnij się, że ustawiłeś nowe hasło również w phpmyadmin config.inc.php, w linii

$ cfg ['Servers'] [$ i] ['password'] = 'yourpassword';
W przeciwnym razie phpmyadmin może nie działać, wywołując echo

Odmowa dostępu dla użytkownika „użytkownik” @ „localhost” (przy użyciu hasła: TAK)
geermc4
źródło
1
Dziękuję, nie byłem pewien, czy muszę ustawić hasło dla obu, ponieważ w przeszłości korzystałem z WAMP.
Jon
Gdzie mogę znaleźć config.inc.php?
Hrvoje T
2
Ok, znalazłem to, ale nie ma wiersza `$ cfg ['Servers'] [$ i] ['password'] = 'yourpassword';
Hrvoje T
1
zwykle config.inc.php znajduje się w /etc/phpmyadmin/config.inc.php
Jostino
27

To zależy od twojej konfiguracji. Postępuj zgodnie z instrukcjami poniżej, aby ponownie skonfigurować phpmyadmin i zresetować hasło MySQL.

  1. Ctrl + Alt + T, aby uruchomić terminal
  2. sudo dpkg-reconfigure phpmyadmin
  3. Metoda połączenia z bazą danych MySQL dla phpmyadmin: gniazdo unix
  4. Nazwa użytkownika administracyjnego bazy danych: root
  5. Hasło użytkownika administracyjnego bazy danych: mysqlsamplepassword
  6. Nazwa użytkownika MySQL dla phpmyadmin: root
  7. Nazwa bazy danych MySQL dla phpmyadmin: phpmyadmin
  8. Serwer WWW do automatycznej rekonfiguracji: apache2
  9. BŁĄD 1045
  10. ignorować
  11. sudo dpkg-reconfigure mysql-server-5.5
  12. Nowe hasło dla użytkownika „root” MySQL: mysqlsamplepassword
  13. Powtórz hasło dla użytkownika „root” MySQL: mysqlsamplepassword
  14. Po tym wszystkim uruchom następującą komendę na terminalu, aby zabezpieczyć serwer mysql. sudo mysql_secure_installation

  15. Wpisz bieżące hasło dla roota (wpisz dla none): mysqlsamplepassword

  16. Zmienić hasło roota? [T / n] n
  17. Usunąć anonimowych użytkowników? [T / n] y
  18. Czy zdalnie zabronić logowania roota? [T / n] y
  19. Usunąć testową bazę danych i uzyskać do niej dostęp? [T / n] y
  20. Przeładować tabele uprawnień teraz? [T / n] y

Szkoda, że ​​to nie pomaga!

Miłego dnia!

Amigo Chan
źródło
Hasło MySQL można również zmienić za pomocą sudo mysql_secure_installation.
user2513149,
12

Ostatnio natknąłem się na ten sam problem Ubuntu 12.04. Po prostu nie mogłem się zalogować z rootem i bez hasła. W konfiguracji ustawiłem AllowNoPassword na TRUE. Później dowiedziałem się, że edytowałem niewłaściwy plik config.inc.php, aby dodać ustawienie AllowNoPassword.

Edit:
/etc/phpmyadmin/config.inc.php
Not:
/usr/share/phpmyadmin/config.inc.php

Myślę, że pierwszy to lokalny plik konfiguracyjny Debiana, który zastąpi wersję usr.

jjwdesign
źródło