Jak mogę znaleźć moje hasło root MySQL?

Właśnie zainstalowałem MySQL na Ubuntu i użytkownik root nie może się zalogować:)

Jak mogę odzyskać lub znaleźć moje hasło? Użycie pustego hasła nie działa.

Author: eebbesen, 2011-04-16

8 answers

Możesz zresetować hasło roota, uruchamiając serwer z --skip-grant-tables i logując się bez hasła, uruchamiając następujące jako root (lub z sudo):

# service mysql stop
# mysqld_safe --skip-grant-tables &
$ mysql -u root
mysql> use mysql;
mysql> update user set authentication_string=PASSWORD("YOUR-NEW-ROOT-PASSWORD") where User='root';
mysql> flush privileges;
mysql> quit
# service mysql stop
# service mysql start
$ mysql -u root -p

Teraz powinieneś być w stanie zalogować się jako root za pomocą nowego hasła.

Możliwe jest również znalezienie zapytania, które resetuje hasło w /home/$USER/.mysql_history lub /root/.mysql_history użytkownika, który resetuje hasło, ale powyższe zawsze będzie działać.

Uwaga: Przed MySQL 5.7 kolumna nazywała się password zamiast authentication_string. Zastąp powyższy wiersz

mysql> update user set password=PASSWORD("YOUR-NEW-ROOT-PASSWORD") where User='root';
 124
Author: Benjamin Manns,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2018-07-20 16:02:33

Zdaję sobie sprawę, że to stary wątek, ale pomyślałem, że zaktualizuję go moimi wynikami.

Alex, wygląda na to, że zainstalowałeś serwer MySQL poprzez meta-pakiet 'mysql-server'. To instaluje najnowszy pakiet przez odniesienie (w moim przypadku mysql-server-5.5). Ja, podobnie jak ty, nie został poproszony o hasło MySQL po konfiguracji, jak się spodziewałem. Przypuszczam, że są dwie odpowiedzi:

Rozwiązanie # 1: Zainstaluj MySQL po jego pełnej nazwie:

$ sudo apt-get install mysql-server-5.5

Lub

Rozwiązanie # 2: zmień konfigurację paczka...

$ sudo dpkg-reconfigure mysql-server-5.5

Należy podać pełną nazwę pakietu. Używanie metapakietu 'mysql-server' nie przyniosło mi pożądanego rezultatu. Mam nadzieję, że to komuś pomoże:)

Numer referencyjny: https://help.ubuntu.com/12.04/serverguide/mysql.html

 18
Author: theinfinitenigma,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2013-05-01 05:51:41

MySQL 5.5 na Ubuntu 14.04 wymagał nieco innych poleceń, zgodnie z zaleceniami tutaj . W skrócie:

sudo /etc/init.d/mysql stop
sudo /usr/sbin/mysqld --skip-grant-tables --skip-networking &
mysql -u root

A następnie z podpowiedzi MySQL

FLUSH PRIVILEGES;
SET PASSWORD FOR root@'localhost' = PASSWORD('password');
UPDATE mysql.user SET Password=PASSWORD('newpwd') WHERE User='root';
FLUSH PRIVILEGES;

I cytowane źródło oferuje również alternatywną metodę.

 6
Author: eebbesen,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2014-09-24 22:52:19

Dla RHEL-mysql 5.5:

/etc/init.d/mysql stop

/etc/init.d/mysql start --skip-grant-tables

 mysql> UPDATE mysql.user SET Password=PASSWORD('newpwd') WHERE User='root';
 mysql> FLUSH PRIVILEGES;
 mysql> exit;

mysql -uroot -pnewpwd

mysql>  
 3
Author: Gurumurthy,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2015-03-02 07:38:04
sudo mysql -u root
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'YOUR_PASSWORD_HERE';
FLUSH PRIVILEGES;

mysql -u root -p # and it works
 3
Author: Alex Ivasyuv,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2018-06-11 11:24:10
 1
Author: Steve,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2011-04-15 23:04:57

Hmm Mysql 5.7.13 do resetu wszystko co zrobiłem to:

$ sudo service mysql stop aby zatrzymać mysql

$ mysqld_safe --skip-grant-tables & Start mysql

$ mysql -u root

Tak jak prawidłowa odpowiedź. Potem zrobiłem tylko to, co zrobił @eebbesen.

mysql> SET PASSWORD FOR root@'localhost' = PASSWORD('NEW-password-HERE');

Mam nadzieję, że komuś to pomoże:)

 1
Author: Joseph Briggs,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2016-09-27 17:56:01

Pod MYSQL 5.7, jeśli używasz mysql do celów programistycznych, po prostu:

1.Zabij mysql:

$ sudo service mysql stop

2.Uruchom mysql w trybie --skip-grant - tables:

$ sudo mysqld_safe --skip-grant-tables 

I, co więcej, możesz spróbować zmienić tabelę użytkownika w trybie "skip-grant-table" , jednak nie udało mi się.

Więc to tylko obejście.
 0
Author: Siwei Shen申思维,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2016-06-28 08:07:56