first - reset root password mysql 5.7 windows
Cómo establecer la contraseña de root en nulo (17)
Esto funciona para mi.
ALTERE AL USUARIO ''root'' @ ''localhost'' IDENTIFICADO CON mysql_native_password POR ''password''
¿Cómo puedo cambiar la contraseña del usuario root
de MySQL a null
, es decir, sin contraseña o ''''
, desde el cliente de línea de comandos de MySQL?
Esto me funcionó en Ubuntu 16.04 con v5.7.15 MySQL:
Primero, asegúrese de tener instalado mysql-client ( sudo apt-get install mysql-client
).
Abrir terminal e iniciar sesión:
mysql -uroot -p
(luego escriba su contraseña)
Después de esto:
use mysql;
update user set authentication_string=password(''''), plugin=''mysql_native_password'' where user=''root'';
(tnx @Stanislav Karakhanov)
Y lo último importante es restablecer el servicio mysql :
sudo service mysql restart
Ahora debería poder iniciar sesión (sin contraseña) también utilizando MySQL Workbench.
Estoy usando nodejs y windows 10. Una combinación de dos respuestas funcionó para mí.
mysql> ALTER USER ''root''@''localhost'' IDENTIFIED BY '''';
mysql> flush privileges;
seguido por:
restart;
Espero que esto ayude a otros que todavía tienen un problema con esto.
La respuesta por usuario64141
use mysql;
update user set password=null where User=''root'';
flush privileges;
quit;
no funcionó para mí en MariaDB 10.1.5 (se supone que es una gota en reemplazo de MySQL). Aunque no lo probé en MySQL 5.6 para ver si es un cambio en sentido ascendente, el error que obtuve fue:
ERROR 1048 (23000): la columna ''Contraseña'' no puede ser nula
Pero reemplazar el nulo con comillas simples o dobles vacías funcionó bien.
update user set password='''' where User=''root'';
o
update user set password="" where User=''root'';
La sintaxis es ligeramente diferente dependiendo de la versión. De los documentos aquí: https://dev.mysql.com/doc/refman/5.7/en/resetting-permissions.html
MySQL 5.7.6 y posteriores:
ALTER USER ''root''@''localhost'' IDENTIFIED BY '''';
MySQL 5.7.5 y anteriores:
SET PASSWORD FOR ''root''@''localhost'' = PASSWORD('''');
Me funcionó y "5.7.11 MySQL Community Server":
use mysql;
update user set authentication_string=password(''''), plugin=''mysql_native_password'' where user=''root'';
Tuve que cambiar el campo ''complemento'' también porque estaba configurado como ''auth_socket''.
Después de eso pude conectarme como mysql -u root
sin una contraseña.
Mi variante para MySQL 5.7:
Stop service mysql:
$ sudo service mysql stop
Corriendo en modo seguro:
$ sudo mysqld_safe --skip-grant-tables --skip-networking
(sobre la línea está el comando entero)
Abra una nueva ventana de terminal:
$ mysql -u root
$ mysql use mysql;
$ mysql update user set authentication_string=password(''password'') where user=''root'';
$ mysql update user set plugin="mysql_native_password" where User=''root'';
$ mysql flush privileges;
$ mysql quit;
Ejecuta el servicio mysql:
$ sudo service mysql start
No es una buena idea editar la base de datos mysql
directamente.
Prefiero los siguientes pasos:
mysql> ALTER USER ''root''@''localhost'' IDENTIFIED BY '''';
mysql> flush privileges;
Para MySQL 8.0 solo:
SET PASSWORD FOR ''root''@''localhost'' = '''';
Para conectarse a mysql sin contraseña:
mysql -p SET PASSWORD = ""
Puede recuperar la contraseña del servidor de la base de datos MySQL siguiendo estos cinco sencillos pasos.
Paso # 1 : Detener el proceso del servidor MySQL.
Paso # 2 : inicie el proceso del servidor / demonio MySQL (mysqld) con la opción --skip-grant-tables para que no solicite la contraseña.
Paso # 3 : Conéctate al servidor mysql como usuario root.
Paso # 4 : Configurar la nueva contraseña de la cuenta raíz de mysql, es decir, restablecer la contraseña de mysql.
Paso # 5 : Salir y reiniciar el servidor MySQL.
Estos son los comandos que debe escribir para cada paso (iniciar sesión como usuario root):
Paso # 1 : Detener el servicio mysql
# /etc/init.d/mysql stop
Salida:
Stopping MySQL database server: mysqld.
Paso # 2 : Iniciar el servidor MySQL sin contraseña:
# mysqld_safe --skip-grant-tables &
Salida:
[1] 5988
Starting mysqld daemon with databases from /var/lib/mysql
mysqld_safe[6025]: started
Paso # 3 : Conéctate al servidor mysql usando mysql client:
# mysql -u root
Salida:
Welcome to the MySQL monitor. Commands end with ; or /g.
Your MySQL connection id is 1 to server version: 4.1.15-Debian_1-log
Type ''help;'' or ''/h'' for help. Type ''/c'' to clear the buffer.
mysql>
Paso # 4 : Configurar la nueva contraseña de usuario root de MySQL
mysql> use mysql;
mysql> update user set password=PASSWORD("NEW-ROOT-PASSWORD") where User=''root'';
mysql> flush privileges;
mysql> quit
Paso # 5 : Detener el servidor MySQL:
# /etc/init.d/mysql stop
Salida:
Stopping MySQL database server: mysqld
STOPPING server from pid file /var/run/mysqld/mysqld.pid
mysqld_safe[6186]: ended
[1]+ Done mysqld_safe --skip-grant-tables
Paso # 6 : Iniciar el servidor MySQL y probarlo
# /etc/init.d/mysql start
# mysql
ERROR 1045 (28000): Access denied for user ''root''@''localhost'' (using password: NO)
# mysql -u root -p
Fuente: http://www.cyberciti.biz/tips/recover-mysql-root-password.html
Quería poner mis propios 2centos aquí porque las respuestas anteriores no funcionaron para mí. En centos 7, mysql community v8, shell es bash.
Los comandos correctos serían los siguientes:
# start mysql without password checking
systemctl stop mysqld 2>/dev/null
systemctl set-environment MYSQLD_OPTS="--skip-grant-tables" &&
systemctl start mysqld
# set default password to nothing
mysql -u root mysql <<- ''EOF''
FLUSH PRIVILEGES;
UNINSTALL COMPONENT ''file://component_validate_password'';
ALTER USER ''root''@''localhost'' IDENTIFIED WITH mysql_native_password BY '''';
FLUSH PRIVILEGES;
INSTALL COMPONENT ''file://component_validate_password'';
EOF
# restart mysql normally
systemctl restart mysqld
Entonces puedes iniciar sesión sin contraseña:
mysql -u root
Si conoce su contraseña de root y solo desea restablecerla, haga lo siguiente:
Inicie MySQL Service desde el panel de control> Herramientas administrativas> Servicios. (¡solo si fue detenido por usted antes! De lo contrario, solo omita este paso)
Iniciar MySQL Workbench
Escriba en este comando / línea de SQL
ALTER USER ''root'' @ ''localhost'' PASSWORD EXPIRE;
Para restablecer cualquier otra contraseña de usuario ... simplemente escriba otro nombre de usuario en lugar de root.
Si desea una contraseña vacía, debe establecer la contraseña en nula y no usar la función de hash de contraseña, como tal:
En la línea de comando:
sudo service mysql stop
sudo mysqld_safe --skip-grant-tables --skip-networking &
mysql -uroot
En MySQL:
use mysql;
update user set password=null where User=''root'';
flush privileges;
quit;
todo porque instaló una versión mayor de 5.6 del mysql
Soluciones
1.you puede degradar la solución de la versión mysql
2 reconfigure la autenticación a tipo nativo o autenticación de tipo heredado usando
opción de configuración
SET PASSWORD FOR ''root''@''localhost'' = PASSWORD('''');
- conéctese a mysql como usuario root (use uno de los dos métodos siguientes)
- ingrese como root e inicie mysql usando
mysql -p
, ingrese la contraseña de root actual - inicie sesión como yo y comience mysql usando
mysql -u root -p
, ingrese la contraseña de root actual
- ingrese como root e inicie mysql usando
-
mysql> set password = password('''');
¡Hecho! Sin contraseña de root.