Heim >Betrieb und Instandhaltung >Betrieb und Wartung von Linux >Lösen Sie das Problem eines falschen MySQL-Passworts unter Linux
Lösung für falsches MySQL-Passwort unter Linux:
Vorwort
Nachdem ich heute MySQL auf dem Server installiert habe, habe ich das gefunden Passwort nach der Anmeldung Fehler, aber ich habe kein Passwort festgelegt Schließlich erfuhr Baidu, dass MySQL nach Version 5.7 automatisch ein anfängliches Passwort erstellt.
Der Fehler wird wie folgt gemeldet:
[root@mytestlnx02 ~]# mysql -u root -p Enter password: ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES)
Passwort ändern
1. Überprüfen Sie, ob der mysql
-Dienst gestartet ist, schließen Sie den mysql
service
2 . Ändern Sie die Konfigurationsdatei von mysql
my.cnf
my.cnf
. Einige Versionen befinden sich in /etc/my.cnf
/etc/mysql/my.cnf
//查看mysql服务状态 [root@mytestlnx02 ~]# ps -ef | grep -i mysql root 22972 1 0 14:18 pts/0 00:00:00 /bin/sh /usr/bin/mysqld_safe --datadir=/var/lib/mysql --socket=/var/lib/mysql/mysql.sock --pid-file=/var/run/mysqld/mysqld.pid --basedir=/usr --user=mysql mysql 23166 22972 0 14:18 pts/0 00:00:00 /usr/sbin/mysqld --basedir=/usr --datadir=/var/lib/mysql --plugin-dir=/usr/lib/mysql/plugin --user=mysql --log-error=/var/log/mysqld.log --pid-file=/var/run/mysqld/mysqld.pid --socket=/var/lib/mysql/mysql.sock root 23237 21825 0 14:22 pts/0 00:00:00 grep -i mysql //关闭服务 [root@mytestlnx02 ~]# service mysql stop [root@mytestlnx02 ~]#besteht darin, die Passwortüberprüfung bei der Anmeldung bei MySQL zu überspringen und dann den MySQL-Dienst zu starten und geben Sie MySQL ein
[mysqld] skip-grant-tables3. Ändern Sie das Passwort Stellen Sie eine Verbindung zur MySQL-Datenbank her und ändern Sie das Benutzerpasswort
[root@mytestlnx02 ~]# service mysqld start [root@mytestlnx02 ~]# [root@mytestlnx02 ~]# mysql -u root Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. mysql>4. Starten Sie den MySQL-Dienst neu Kommentieren oder löschen Sie zunächst die beiden zuvor zur Konfigurationsdatei hinzugefügten Codezeilen und starten Sie dann den MySQL-Dienst neu. Melden Sie sich mit dem gerade festgelegten Passwort an.
mysql> use mysql; Reading table information for completion of table and column names You can turn off this feature to get a quicker startup with -A Database changed mysql> update mysql.user set authentication_string=password('root_password') where user='root'; Query OK, 1 row affected, 1 warning (0.00 sec) Rows matched: 1 Changed: 1 Warnings: 1 mysql> flush privileges; Query OK, 0 rows affected (0.00 sec) mysql> exitfunktioniert unter CentOS anders. Beim Ausführen des Befehls zum Ändern des Passworts wird immer wieder ein Fehler gemeldet
[root@mytestlnx02 ~]# service mysql start [root@mytestlnx02 ~]# [root@mytestlnx02 ~]# mysql -u root -p Enter password: Welcome to the MySQL monitor. Commands end with ; or \g. p.s.Es kann kein Syntaxproblem sein und ich habe schließlich festgestellt, dass es unter CentOS so gemacht werden sollte : Anfangspasswort anzeigen
mysql> update user set authentication_string=password('xxxxxxxx') where User='root'; ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '('root_password') where User='root'' at line 1Sie können sehen, dass das Anfangspasswort DN34N/=?aIfZ lautetVerwenden Sie das Anfangspasswort, um sich anzumelden
[root@VM_0_8_centos ~]# grep 'temporary password' /var/log/mysqld.log 2018-09-26T04:25:54.927944Z 5 [Note] [MY-010454] [Server] A temporary password is generated for root@localhost: DN34N/=?aIfZPasswort ändern
[root@VM_0_8_centos ~]# mysql -u root -p Enter password: Welcome to the MySQL monitor. Commands end with ; or \g. Your MySQL connection id is 8 Server version: 8.0.12 MySQL Community Server - GPL Copyright (c) 2000, 2018, Oracle and/or its affiliates. All rights reserved.Es wird wirksam
mysql> ALTER USER 'root' IDENTIFIED BY 'xxxxxxxxx'; ERROR 1820 (HY000): You must reset your password using ALTER USER statement before executing this statement. mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY 'xxxxxxxx'; Query OK, 0 rows affected (0.11 sec) mysql> flush privileges; Query OK, 0 rows affected (0.01 sec) mysql> exit Bye 重启服务Empfohlenes Tutorial: „
Linux-Tutorial“
Das obige ist der detaillierte Inhalt vonLösen Sie das Problem eines falschen MySQL-Passworts unter Linux. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!