restablecer recuperar por password defecto contraseña change cambiar mysql login passwords mariadb

mysql - por - recuperar contraseña phpmyadmin ubuntu



Mysql(MariaDB 10.0.29): ¿Establecer contraseña de root, pero aún así puede iniciar sesión sin pedir contraseña? (2)

Quiero proteger mysql estableciendo la contraseña de root. Reajusté la contraseña de root con éxito:

MariaDB [(none)]> select Host, User, Password from mysql.user; +-----------+------+-------------------------------------------+ | Host | User | Password | +-----------+------+-------------------------------------------+ | localhost | root | *58319282EAB9E38D49CA25844B73DA62C80C2ABC | +-----------+------+-------------------------------------------+ 1 row in set (0.00 sec)

Pero, después de vaciar los privilegios, reinicie Mysql, todavía puedo iniciar sesión en mysql (en el host local) sin escribir la contraseña.

root@myhost:/# mysql Welcome to the MariaDB monitor. Commands end with ; or /g. Your MariaDB connection id is 10 Server version: 10.0.29-MariaDB SLE 12 SP1 package Copyright (c) 2000, 2016, Oracle, MariaDB Corporation Ab and others. Type ''help;'' or ''/h'' for help. Type ''/c'' to clear the current input statement. MariaDB [(none)]>

¿Cómo puedo forzar mi contraseña pidiendo mysql al conectar? Gracias !


En la tabla MySQL tienes una columna llamada plugin:

MariaDB [(none)]> SELECT host, user, password, plugin FROM mysql.user LIMIT 0,1; +-----------+------+-------------------------------------------+--------+ | host | user | password | plugin | +-----------+------+-------------------------------------------+--------+ | localhost | root | * | | +-----------+------+-------------------------------------------+--------+ 1 row in set (0.00 sec)

Si recuerdo correctamente, el complemento predeterminado para las instalaciones de mariaDB es ''console'' o ''unix_socket'', y este complemento te permite ingresar sin contraseña desde la consola. Pero también desactive la autenticación con contraseña y no podrá conectarse desde otros clientes.

Simplemente actualice el campo del complemento con un valor vacío (''''), y luego, utilice FLUSH PRIVILEGES;

SET PASSWORD FOR ''root''@''localhost'' = PASSWORD(''MyNewPass''); UPDATE mysql.user SET plugin = '''' WHERE user = ''root'' AND host = ''localhost''; FLUSH PRIVILEGES;

Con esto, tienes el problema resuelto.


Sé que esta pregunta es antigua, pero tuve el mismo problema y los pasos a continuación resolvieron mi problema:

en el terminal de Linux, ejecute el siguiente comando para establecer una nueva contraseña para el usuario root, omita este paso, si la contraseña de root ya está establecida.

mysqladmin --user=root password "newpassword"

Inicia sesión en mysql

mysql -uroot -p

Introduzca la contraseña de usuario ''root''

Ejecutar la siguiente consulta en la consola MariaDB

MariaDB [(none)]> select host,user,password from mysql.user;

Es posible que observe que algunos registros con valores de columna de ''usuario'' están '''' (vacíos); elimine esos registros utilizando la siguiente consulta

MariaDB [(none)]> delete from mysql.user where user=''''; MariaDB [(none)]> flush privileges; Query OK, 2 rows affected (0.00 sec) MariaDB [(none)]> exit Bye #$ mysql ERROR 1045 (28000): Access denied for user ''''@''localhost'' (using password: NO)

No podrá iniciar sesión en mysql sin contraseña después de seguir los pasos anteriores.