2015-11-30 2 views
23

Kann nicht an MySQL-Datenbank anmelden, nachdem frisch mit Root-ID und leer/kein Passwort wie anderen älteren MySQL-Versionen installieren tunWas ist der Standard-Stamm pasword für MySQL 5.7

+0

root nicht mehr h als eines, weil es keins verwendet. Standardmäßig ist die Authentifizierungsmethode auth socket. Verwenden Sie sudo, um mit root-Zugriff zuzugreifen, ändern Sie die Authentifizierungsmethode in password, und legen Sie ein Kennwort fest, wenn Sie eine Root-lmysql-Oogin ohne Root-Systemzugriff benötigen. –

+0

@ G.Martin Würden Sie diesen Kommentar in eine Antwort mit detaillierteren Schritten erweitern? Ich denke, das ist die Lösung, die ich verwenden möchte, aber ich weiß nicht, wie ich die Authentifizierungsmethode ändern kann. ('sudo mysql -u root' funktioniert bei mir - ich möchte es ändern, also kann ich einfach 'mysql -u root' ohne passwort) –

+0

Tut mir leid Du hast es wahrscheinlich schon herausgefunden, aber ich habe herausgefunden, dass mein Beitrag nur für Debian-Distributionen. Wenn es immer noch ein Problem (bezweifle es) kann ich mehr Details zur Verfügung stellen. –

Antwort

63

Nach der Installation von MySQL-Community-Server 5.7 von frisch auf Linux müssen Sie das temporäre Passwort von /var/log/mysqld.log finden, um sich als root anzumelden.

  1. grep 'temporary password' /var/log/mysqld.log
  2. Run mysql_secure_installation neue Passwort

ref zu ändern: http://dev.mysql.com/doc/refman/5.7/en/linux-installation-yum-repo.html

+4

Vielen Dank! Irgendwie verrückt, diese Informationen hier zu finden anstatt des MySQL 5.7 Dokuments von Oracle. – maddin2code

+6

Das rettet mein Leben ... war überall auf der Suche nach Lösung und das löst alle meine Probleme. Sogar das Dokument von der Mysql-Website erwähnte dies nicht. Das ist ein verrückter Mann. Vielen Dank! – nodeffect

+1

Wo würden Sie auf einer Windows-Maschine aussehen? – rotaercz

4

Sie mysql oder Percona unbeaufsichtigt (wie in meinem Fall ansible) Bei installieren, die Sie verwenden können folgendes Skript:

# first part opens mysql log 
# second part greps lines with temporary password 
# third part picks last line (most recent one) 
# last part removes all the line except the password 
# the result goes into password variable 

password=$(cat /var/log/mysqld.log | grep "A temporary password is generated for" | tail -1 | sed -n 's/.*[email protected]: //p') 

# setting new password, you can use $1 and run this script as a file and pass the argument through the script 

newPassword="[email protected]" 

# resetting temporary password 

mysql -uroot -p$password -Bse "ALTER USER 'root'@'localhost' IDENTIFIED BY '$newPassword';" 
Verwandte Themen