Ich versuche, MySQL in einer Portion mit zu installieren CentOS Linux release 7.2.1511
. Schauen Sie sich die Prozessinstallation an:
# sudo yum install mysql-server
Ausgabe:
Dependencies Resolved
===========================================================================================================================================================================================================
Package Arch Version Repository Size
===========================================================================================================================================================================================================
Removing:
mysql-community-client x86_64 5.7.10-1.el7 @mysql57-community 109 M
mysql-community-server x86_64 5.7.10-1.el7 @mysql57-community 652 M
Transaction Summary
===========================================================================================================================================================================================================
Ich habe den MySQL-Damon ausgeführt:
# sudo service mysqld start
Überprüfen des Dienstes:
# ps -ef|grep mysql
mysql 1371 1 0 22:17 ? 00:00:00 /usr/sbin/mysqld --daemonize --pid-file=/var/run/mysqld/mysqld.pid
Hier kommt das Problem, das mich verrückt macht. Ich möchte zum ersten Mal ein Root-Passwort festlegen, also habe ich Folgendes getan:
# sudo mysql_secure_installation
// when password is required, I just type "enter key"
Aber die Ausgabe: Sichern der MySQL-Serverbereitstellung.
Passwort für Benutzer root eingeben: Fehler: Zugriff für Benutzer 'root' @ 'localhost' verweigert (mit Passwort: NO)
Wenn Sie den Fehler googeln, besteht die Lösung in 90% der Fälle darin, den folgenden mysqld_safe --skip-grant-tables &
Befehl aufzurufen :
service mysqld stop
mysqld_safe --skip-grant-tables &
mysql --user=root mysql
update user set Password=PASSWORD('new-password') where user='root';
flush privileges;
exit;
Es wird jedoch mysqld_safe
ein Fehler "Befehl nicht gefunden" angezeigt. Ich habe auch mit getestet sudo mysqld --skip-grant-tables &
, aber es macht nichts. Ich würde mich freuen, wenn Sie mich in die richtige Richtung führen, um das Root-Passwort festzulegen. Vielen Dank im Voraus.
PATH
. Oder Sie brauchen volle Wege. (Dies ist eher eine Linux-Frage als eine MySQL-Frage.)Antworten:
Wenn Sie nur den Befehl mysql unter dem Root-Benutzer ausführen, wird Ihnen der Zugriff ohne Eingabe des Kennworts gewährt, da die Socket-Authentifizierung für root @ localhost aktiviert ist.
Dieser Leitfaden ist irreführend.
Die einzige Möglichkeit, ein Kennwort festzulegen, besteht darin, zur nativen Authentifizierung zu wechseln, z.
quelle
Bei meiner wahnsinnigen Suche nach einer Lösung habe ich mir
/var/log/mysqld.log
diese Zeile angesehen und sie gefunden:Mysql 5.7+ generiert anscheinend ein zufälliges Kennwort in der Installation und wird in dieser Datei dazu aufgefordert.
quelle
Führen Sie die folgenden Schritte aus, um das Kennwort zurückzusetzen:
Setzen Sie das MySQL-Server-Root-Passwort zurück.
Ausgabe so etwas wie:
Verwenden Sie das obige Passwort beim Zurücksetzen des mysql_secure_installation- Prozesses.
Sie haben das Root-Passwort des MySQL-Servers erfolgreich zurückgesetzt. Verwenden Sie den folgenden Befehl, um zu überprüfen, ob der MySQL-Server eine Verbindung herstellt oder nicht.
Siehe meinen Artikel: Installieren Sie das neueste MySQL 5.7 unter RHEL / Centos 7
quelle
All das hat bei mir nicht funktioniert und ich habe eine Stunde oder länger damit verbracht, alle anderen Vorschläge von der MYSql-Website für alles auf SO auszuprobieren. Endlich habe ich es geschafft:
Hinweis: Während "Passwort für Benutzer root eingeben" angezeigt wurde, hatte ich nicht das ursprüngliche Passwort, daher habe ich nur dasselbe Passwort eingegeben, das als neues Passwort verwendet werden soll.
Hinweis: Es gab nur /var/log/mysqld.log /var/log/mysql/error.log
run / usr / bin / mysql_secure_installation
Ausgabe von mysql_secure_installation
quelle