Hoy, quería crear una base de datos en PMA. Decía: "No se puede iniciar sesión en el servidor MySQL". Intenté a través de una terminal, el mismo problema, y es porque mi contraseña es incorrecta. Y no puedo entender por qué.
Intenté el método habitual para restablecer la contraseña de root (omitir el montaje de tablas de concesión y restablecer el passord) pero parece que no funciona.
Mira eso:
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)
. Entonces, la mejor solución es seguir usando la autenticación de socket Unix predeterminada con el comandosudo mysql -u root
, que creo que también es más segura y eficiente.De esta respuesta, http://ubuntuforums.org/showthread.php?t=2275033&p=13272227#post13272227 .
Mysql intenta autenticar root usando el complemento, no la contraseña. Debe deshabilitar el uso del complemento para root.
fuente
Could not open mysql.plugin table.
en el registro de errores.Conéctese como se describió anteriormente:
Se mostrará el archivo de registro:
Busque en el registro listado (en este caso: /usr/local/mysql/data/ab123456.domain.com.err) para el zócalo derecho:
y úsalo en la conexión mysql:
fuente
$ 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
pero acabo de regresar al indicador de bash.Por defecto, marriadb usa el complemento de autenticación "unix_socket" para establecer contraseñas, esto debería ser "mysql_native_password", así que
cambiar base de datos ..
primero ver el complemento de bruja está configurado ...
configúrelo en "mysql_native_password"
establecer nueva contraseña ...
fuente