Tuve que usar mysqladmin -u root -p shutdown, con la nueva contraseña.
SL Barth - Restablecer Monica
2
Buen flujo de instrucciones especialmente: luego ejecute mysql en una nueva terminal
Mohammed Subhi Sheikh Quroush
8
No puedo hacer esto mysql -u root. Muestra errorAccess denied
Avinash Raj
44
@AvinashRaj: Prueba esto: sudo mysql -u root
Allen Gingrich
Increíble. Comprendo lo que funcionó en RHEL 7: Terminal 1: servicio sudo mysql stop sudo mysqld_safe --skip-grant-tables --skip-syslog --skip-networking Terminal 2: mysql -u root ACTUALIZACIÓN mysql.user SET Password = CONTRASEÑA ('nueva contraseña') DONDE Usuario = 'root'; ENJUAGUE PRIVILEGIOS; mysqladmin -u root -p shutdown Nota: Una vez que cierre mysqladmin, verá las salidas de modo seguro en la Terminal 1. sudo service mysql start ¡Eso es todo y funciona de maravilla con la nueva contraseña!
Usuario de StackOverFlow
65
No puede ver la contraseña hash; ¡lo único que puedes hacer es reiniciarlo!
En mi caso, la contraseña no estaba aquí; sin embargo, en cambio, /var/log/mysql/error.logcontenía una advertencia sobre que la contraseña de root estaba vacía, así que esto me salvó el día :)
Janaka Bandara
19
Una cosa que me hizo tropezar en una nueva instalación de mySQL y me pregunto por qué no pude hacer funcionar la contraseña predeterminada y por qué incluso los métodos de restablecimiento no funcionaban. Resulta que en Ubuntu 18 la versión más reciente del servidor mysql no usa autenticación de contraseña para el usuario root de forma predeterminada. Esto significa que no importa en qué lo configures, no te permitirá usarlo. espera que inicies sesión desde un socket privilegiado. entonces
mysql -u root -p
¡no funcionará en absoluto, incluso si está utilizando la contraseña correcta! negará el acceso sin importar lo que ingrese.
En cambio, necesitas usar
sudo mysql
eso funcionará sin ninguna contraseña. entonces una vez en que necesita escribir
ALTERUSER'root'@'localhost' IDENTIFIED WITH mysql_native_password BY'Password you want to use';
luego cierre sesión y ahora lo sangriento finalmente aceptará su contraseña
No puedes encontrarlo. Se almacena en una base de datos, a la que necesita la contraseña de root para acceder, e incluso si de alguna manera obtuvo acceso, está codificado con un hash unidireccional. Puede restablecerlo: http://dev.mysql.com/doc/refman/5.0/en/resetting-permissions.html
Trabajó en Centos7 mysqld --init-file=/root/m.txt. Agregué el comando anterior SET PASSWORD FOR 'root'@'localhost' = PASSWORD('yournewpassword');a /root/m.txt
Damodar Bashyal el
8
A menos que el administrador de paquetes le solicite que escriba la contraseña de root durante la instalación, la contraseña de root predeterminada es la cadena vacía. Para conectarse al servidor recién instalado, escriba:
shell> mysql -u root --password=
mysql>
Para cambiar la contraseña, recupere el shell de Unix y escriba:
Vaya, la contraseña ha cambiado. Use el nuevo root:
shell> mysql -u root --password=root...
blah, blah, blah : mysql welcome banner
...
mysql>
¡Bingo! Nuevo haz algo interesante
mysql> show databases;+--------------------+|Database|+--------------------+| information_schema || mysql || performance_schema |+--------------------+3rowsinset(0.00 sec)
no está usando contraseñas sino sockets autenticados por defecto ahora. así que solo cambiar la contraseña ya no es suficiente.
Kit Ramos el
7
Además de las otras respuestas, en una instalación de cpanel, la contraseña raíz de mysql se almacena en un archivo llamado /root/.my.cnf. (y el servicio cpanel lo restablece al cambiar, por lo que las otras respuestas aquí no ayudarán)
parece que el servidor mysql ya no usa la autenticación de contraseña por defecto. debe iniciar el cliente mysql como superusuario (sudo) para obtener acceso hasta que cambie el método de inicio de sesión.
Kit Ramos el
4
La contraseña predeterminada que funcionó para mí después de la instalación inmediata del servidor mysql es: mysql
tal vez no respondió la pregunta, pero muchas personas que vienen aquí pueden encontrar que resuelve su problema.
Ohad Cohen
3
El procedimiento cambia según la versión de MySql. Siga el procedimiento exactamente como se describe para su versión:
CONSEJOS: lea antes de la página de instrucciones para su versión de MySql *
En el paso 5: en lugar de ejecutar CMD, cree un acceso directo en su escritorio llamando a CDM.exe. Luego haga clic derecho en el acceso directo y seleccione "Ejecutar como administrador".
En el paso 6: omita la primera versión propuesta del comando y ejecute la segunda, la que tiene el parámetro --defaults-file
Una vez que ejecuta el comando, si todo está bien, la ventana CMD permanece abierta y el comando del paso 6 continúa ejecutándose. Simplemente cierre la ventana (haga clic en 'x'), y luego fuerce el cierre de MySQl desde el Administrador de tareas.
Elimine el archivo con los comandos SQL y comience nuevamente MySQL. La contraseña debe cambiarse ahora.
Las respuestas proporcionadas aquí no parecían funcionar para mí, el truco resultó ser: ALTERAR USUARIO 'root' @ 'localhost' IDENTIFICADO CON mysql_native_password BY 'test';
Abra dos sesiones de shell, inicie sesión en una como usuario root de Linux y en la otra como usuario no root con acceso al mysqlcomando.
En su sesión raíz, detenga el oyente mysqld normal e inicie un oyente que omita la autenticación de contraseña ( nota: esto es un riesgo de seguridad significativo ya que cualquier persona con acceso al mysql
comando puede acceder a sus bases de datos sin una contraseña. Es posible que desee cerrar sesiones activas de shell y / o deshabilitar el acceso de shell antes de hacer esto):
# systemctl stop mysqld # /usr/sbin/mysqld --skip-grant-tables -u mysql &
En su sesión no root, inicie sesión en mysql y configure la contraseña de root de mysql:
Resolví esto de una manera diferente, esto puede ser más fácil para algunos.
Lo hice de esta manera porque intenté iniciar en modo seguro pero no puedo conectarme con el error: ERROR 2002 (HY000): No puedo conectarme al servidor MySQL local a través del socket '/var/run/mysqld/mysqld.sock' (2)
Respuestas:
Gracias a @thusharaK pude restablecer la contraseña de root sin conocer la contraseña anterior.
En ubuntu hice lo siguiente:
Luego ejecute mysql en una nueva terminal:
Y ejecute las siguientes consultas para cambiar la contraseña:
En MySQL 5.7, se eliminó el campo de contraseña en el campo de tabla mysql.user, ahora el nombre del campo es 'autenticación_cadena'.
Salga del modo seguro mysql e inicie el servicio mysql:
fuente
mysqladmin -u root -p shutdown
, con la nueva contraseña.mysql -u root
. Muestra errorAccess denied
No puede ver la contraseña hash; ¡lo único que puedes hacer es reiniciarlo!
Detener MySQL:
o
Comience en modo seguro:
(la línea de arriba es el comando completo)
Este será un comando continuo hasta que finalice el proceso, así que abra otra ventana de shell / terminal, inicie sesión sin contraseña:
MySQL 5.7 y superior:
Inicie MySQL:
o
Su nueva contraseña es 'contraseña'.
fuente
mysql_secure_installation
y root ya no estaba cooperando. ¿Qué hace laauthentication_string
configuración?mysqladmin -u root -p shutdown
con la nueva contraseña entoncessudo service mysql start
MySQL 5.7 y superior guarda la raíz en el archivo de registro de MySQL.
Por favor intente esto:
fuente
/var/log/mysql/error.log
contenía una advertencia sobre que la contraseña de root estaba vacía, así que esto me salvó el día :)Una cosa que me hizo tropezar en una nueva instalación de mySQL y me pregunto por qué no pude hacer funcionar la contraseña predeterminada y por qué incluso los métodos de restablecimiento no funcionaban. Resulta que en Ubuntu 18 la versión más reciente del servidor mysql no usa autenticación de contraseña para el usuario root de forma predeterminada. Esto significa que no importa en qué lo configures, no te permitirá usarlo. espera que inicies sesión desde un socket privilegiado. entonces
¡no funcionará en absoluto, incluso si está utilizando la contraseña correcta! negará el acceso sin importar lo que ingrese.
En cambio, necesitas usar
eso funcionará sin ninguna contraseña. entonces una vez en que necesita escribir
luego cierre sesión y ahora lo sangriento finalmente aceptará su contraseña
fuente
No puedes encontrarlo. Se almacena en una base de datos, a la que necesita la contraseña de root para acceder, e incluso si de alguna manera obtuvo acceso, está codificado con un hash unidireccional. Puede restablecerlo: http://dev.mysql.com/doc/refman/5.0/en/resetting-permissions.html
fuente
Siga estos pasos para restablecer la contraseña en el sistema Windows
Detener el servicio Mysql desde el administrador de tareas
Cree un archivo de texto y pegue la siguiente declaración
Guardar como
mysql-init.txt
y colocarlo en'C' drive
.Abra el símbolo del sistema y pegue lo siguiente
C:\> mysqld --init-file=C:\\mysql-init.txt
fuente
mysqld --init-file=/root/m.txt
. Agregué el comando anteriorSET PASSWORD FOR 'root'@'localhost' = PASSWORD('yournewpassword');
a /root/m.txtA menos que el administrador de paquetes le solicite que escriba la contraseña de root durante la instalación, la contraseña de root predeterminada es la cadena vacía. Para conectarse al servidor recién instalado, escriba:
Para cambiar la contraseña, recupere el shell de Unix y escriba:
La nueva contraseña es 'root'. Ahora conéctese al servidor:
Vaya, la contraseña ha cambiado. Use el nuevo
root
:¡Bingo! Nuevo haz algo interesante
Maurycy
fuente
Además de las otras respuestas, en una instalación de cpanel, la contraseña raíz de mysql se almacena en un archivo llamado
/root/.my.cnf
. (y el servicio cpanel lo restablece al cambiar, por lo que las otras respuestas aquí no ayudarán)fuente
puede ver la contraseña de root de mysql, bueno, lo he probado en mysql 5.5, así que no sé si otra versión nueva funciona bien o no
fuente
Esto funcionó para mí:
En terminal escriba lo siguiente
$ sudo mysql -u root -p
Introducir la contraseña:// solo presione enter
mysql>
fuente
La contraseña predeterminada que funcionó para mí después de la instalación inmediata del servidor mysql es:
mysql
fuente
El procedimiento cambia según la versión de MySql. Siga el procedimiento exactamente como se describe para su versión:
CONSEJOS: lea antes de la página de instrucciones para su versión de MySql *
En el paso 5: en lugar de ejecutar CMD, cree un acceso directo en su escritorio llamando a CDM.exe. Luego haga clic derecho en el acceso directo y seleccione "Ejecutar como administrador".
En el paso 6: omita la primera versión propuesta del comando y ejecute la segunda, la que tiene el parámetro --defaults-file
Una vez que ejecuta el comando, si todo está bien, la ventana CMD permanece abierta y el comando del paso 6 continúa ejecutándose. Simplemente cierre la ventana (haga clic en 'x'), y luego fuerce el cierre de MySQl desde el Administrador de tareas.
Elimine el archivo con los comandos SQL y comience nuevamente MySQL. La contraseña debe cambiarse ahora.
5.0 http://dev.mysql.com/doc/refman/5.0/en/resetting-permissions.html
5.1 http://dev.mysql.com/doc/refman/5.1/en/resetting-permissions.html
... solo cambia la versión en el enlace (5.5, 5.6, 5.7)
fuente
En su archivo .err "hostname" dentro de la carpeta de datos en la que trabaja MySQL, intente buscar una cadena que comience con:
"Se genera una contraseña temporal para roor @ localhost"
puedes usar
luego barra diagonal seguida de la cadena que desea buscar
Luego presione n, para ir al siguiente resultado.
fuente
Las respuestas proporcionadas aquí no parecían funcionar para mí, el truco resultó ser: ALTERAR USUARIO 'root' @ 'localhost' IDENTIFICADO CON mysql_native_password BY 'test';
(respuesta completa aquí: https://www.percona.com/blog/2016/03/16/change-user-password-in-mysql-5-7-with-plugin-auth_socket/ )
fuente
Sistema:
Procedimiento:
Abra dos sesiones de shell, inicie sesión en una como usuario root de Linux y en la otra como usuario no root con acceso al
mysql
comando.En su sesión raíz, detenga el oyente mysqld normal e inicie un oyente que omita la autenticación de contraseña ( nota: esto es un riesgo de seguridad significativo ya que cualquier persona con acceso al
mysql
comando puede acceder a sus bases de datos sin una contraseña. Es posible que desee cerrar sesiones activas de shell y / o deshabilitar el acceso de shell antes de hacer esto):# systemctl stop mysqld
# /usr/sbin/mysqld --skip-grant-tables -u mysql &
En su sesión no root, inicie sesión en mysql y configure la contraseña de root de mysql:
$ mysql
mysql> flush privileges;
Query OK, 0 rows affected (0.00 sec)
mysql> SET PASSWORD FOR 'root'@'localhost' = PASSWORD('MyNewPass');
Query OK, 0 rows affected, 1 warning (0.01 sec)
mysql> quit;
En su sesión raíz, elimine la instancia sin contraseña de mysqld y restaure el oyente mysqld normal al servicio:
# kill %1
# systemctl start mysqld
En su sesión no root, pruebe la nueva contraseña de root que configuró anteriormente:
$ mysql -u root -p
Enter password:
Welcome to the MySQL monitor. Commands end with ; or \g.
...
mysql>
fuente
Resolví esto de una manera diferente, esto puede ser más fácil para algunos.
Lo hice de esta manera porque intenté iniciar en modo seguro pero no puedo conectarme con el error: ERROR 2002 (HY000): No puedo conectarme al servidor MySQL local a través del socket '/var/run/mysqld/mysqld.sock' (2)
Lo que hice fue conectarme normalmente como root:
Luego creé un nuevo superusuario:
Luego inicie sesión como myuser
Intentar cambiar la contraseña no me dio errores, pero no hizo nada por mí, así que solté y volví a crear el usuario root
El usuario root ahora está trabajando con la nueva contraseña
fuente
Vaya a phpMyAdmin> config.inc.php> $ cfg ['Servidores'] [$ i] ['contraseña'] = '';
fuente
phpmyadmin
.