Heute wollte ich eine Datenbank in PMA erstellen. Es hieß: "Anmeldung am MySQL-Server nicht möglich". Ich habe über ein Terminal das gleiche Problem versucht, und es liegt daran, dass mein Passwort falsch ist. Und ich kann nicht verstehen warum.
Ich habe die übliche Methode zum Zurücksetzen des Root-Passworts verwendet (das Einhängen von Grant-Tabellen überspringen und das Passwort zurücksetzen), aber es scheint, als ob es nicht funktioniert.
Siehst du das:
morgan@rakija:~$ sudo mysqld_safe --skip-grant-tables &
[1] 14016
morgan@rakija:~$ 150802 19:07:25 mysqld_safe Can't log to error log and syslog at the same time. Remove all --log-error configuration options for --syslog to take effect.
150802 19:07:25 mysqld_safe Logging to '/var/log/mysql/error.log'.
150802 19:07:25 mysqld_safe A mysqld process already exists
[1]+ Terminé 1 sudo mysqld_safe --skip-grant-tables
morgan@rakija:~$ mysql -u root
Welcome to the MariaDB monitor. Commands end with ; or \g.
Your MariaDB connection id is 2
Server version: 10.0.20-MariaDB-0ubuntu0.15.04.1 (Ubuntu)
Copyright (c) 2000, 2015, Oracle, MariaDB Corporation Ab and others.
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
MariaDB [(none)]> use mysql;
Database changed
MariaDB [mysql]> update user set password=PASSWORD("newPass") where user='root';
Query OK, 4 rows affected (0.00 sec)
Rows matched: 4 Changed: 4 Warnings: 0
MariaDB [mysql]> flush privileges;
Query OK, 0 rows affected (0.00 sec)
MariaDB [mysql]> exit
Bye
morgan@rakija:~$ sudo service mysql restart
morgan@rakija:~$ mysql -uroot -pnewPass
ERROR 1698 (28000): Access denied for user 'root'@'localhost'
ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO)
. Die beste Lösung ist es, weiterhin die standardmäßige Unix-Socket-Authentifizierung mit Befehl zu verwendensudo mysql -u root
, die meiner Meinung nach auch sicherer und performanter ist.Aus dieser Antwort http://ubuntuforums.org/showthread.php?t=2275033&p=13272227#post13272227 .
Mysql versucht, root mit dem Plugin zu authentifizieren, nicht mit dem Passwort. Sie müssen die Plugin-Verwendung für root deaktivieren.
quelle
Could not open mysql.plugin table.
im Fehlerprotokoll sehe .Verbinden Sie wie zuvor beschrieben:
Protokolldatei wird angezeigt:
Durchsuchen Sie das aufgelistete Protokoll (in diesem Fall: /usr/local/mysql/data/ab123456.domain.com.err) nach dem richtigen Socket:
und benutze es in MySQL Verbindung:
quelle
$ mysqld_safe --skip-grant-tables 190818 14:13:35 mysqld_safe Logging to '/usr/local/var/mylaptop.local.err'. 190818 14:13:35 mysqld_safe Starting mysqld daemon with databases from /usr/local/var
aber einfach zur Bash-Eingabeaufforderung zurückgeworfen.Standardmäßig verwendet marriadb das Authentifizierungs-Plugin "unix_socket", um Passwörter festzulegen. Dies sollte also "mysql_native_password" sein
Datenbank wechseln ..
erst mal sehen was das plugin setzt ..
setze es auf "mysql_native_password"
neues Passwort setzen ...
quelle