¿Cómo restablecer o cambiar la contraseña de root de MySQL?

¿Cómo cambio la contraseña y el nombre de usuario raíz de MySQL en el servidor de ubuntu? ¿Debo detener el servicio de MySQL antes de configurar los cambios?

Tengo una configuración de phpmyadmin también, ¿phpmyadmin se actualizará automáticamente?

Establecer / cambiar / restablecer la contraseña de root de MySQL en Ubuntu Linux. Ingrese las siguientes líneas en su terminal.

  1. Detenga el servidor MySQL: sudo /etc/init.d/mysql stop
  2. Comience la configuración mysqld: sudo mysqld --skip-grant-tables &
  3. Inicie sesión en MySQL como root: mysql -u root mysql
  4. Reemplace YOURNEWPASSWORD con su nueva contraseña:

     UPDATE mysql.user SET Password = PASSWORD('YOURNEWPASSWORD') WHERE User = 'root'; FLUSH PRIVILEGES; exit; 

Nota: en algunas versiones, si password columna de password no existe, puede intentar:
UPDATE user SET authentication_string=password('YOURNEWPASSWORD') WHERE user='root';

Nota: Este método no se considera la forma más segura de restablecer la contraseña, sin embargo, funciona.

Referencias

  1. Establecer / Cambiar / Restablecer la contraseña de root de MySQL en Ubuntu Linux
  2. Cómo restablecer la contraseña de root

La forma oficial y fácil de restablecer la contraseña de root en un servidor ubuntu …

Si está en 16.04, 14.04, 12.04:

 sudo dpkg-reconfigure mysql-server-5.5 

Si estás en 10.04:

 sudo dpkg-reconfigure mysql-server-5.1 

Si no está seguro de qué versión de mysql-server está instalada, intente:

 dpkg --get-selections | grep mysql-server 

Notas actualizadas para mysql-server-5.7

Tenga en cuenta que si está utilizando mysql-server-5.7 no puede usar el método más fácil de dpkg-reconfigure que se muestra arriba.

Si conoce la contraseña, inicie sesión y ejecute esto:

 UPDATE mysql.user SET authentication_string=PASSWORD('my-new-password') WHERE USER='root'; FLUSH PRIVILEGES; 

Alternativamente, puede usar lo siguiente:

 sudo mysql_secure_installation 

Esto le hará una serie de preguntas sobre cómo asegurar su instalación (muy recomendada), incluso si desea proporcionar una nueva contraseña de root.

Si NO conoce la contraseña de root, consulte esta descripción centrada en Ubuntu en el proceso .

Ver para más información:

https://help.ubuntu.com/16.04/serverguide/mysql.html https://help.ubuntu.com/14.04/serverguide/mysql.html

Estoy compartiendo la solución final paso a paso para restablecer una contraseña de MySQL en Linux Ubuntu.

Referencia tomada del blog (dbrnd.com)

Paso 1: Detener el servicio MySQL.

 sudo stop mysql 

Paso 2: Mata a todos los ejecutantes mysqld.

 sudo killall -9 mysqld 

Paso 3: iniciando mysqld en modo seguro.

 sudo mysqld_safe --skip-grant-tables --skip-networking & 

Paso 4: inicia el cliente de mysql

 mysql -u root 

Paso 5: después de iniciar sesión correctamente, ejecute este comando para cambiar cualquier contraseña.

 FLUSH PRIVILEGES; 

Paso 6: puedes actualizar la contraseña de root de mysql.

 UPDATE mysql.user SET Password=PASSWORD('newpwd') WHERE User='root'; 

Nota : en MySQL 5.7, la Password columna se llama authentication_string .

Paso 7: ejecuta este comando.

 FLUSH PRIVILEGES; 

El único método que funcionó para mí es el que se describe aquí (estoy ejecutando ubuntu 14.04). En aras de la claridad, estos son los pasos que seguí:

  1. sudo vim /etc/mysql/my.cnf
  2. Agregue las siguientes líneas al final:

      [mysqld]
    
     skip-grant-tables 
  3. sudo service mysql restart

  4. mysql -u root

  5. use mysql

  6. select * from mysql.user where user = 'root'; – Mire en la parte superior para determinar si la columna de contraseña se llama contraseña o authentication_string

  7. UPDATE mysql.user set *password_field from above* = PASSWORD('your_new_password') where user = 'root' and host = 'localhost'; – Use la columna de contraseña correcta desde arriba

  8. FLUSH PRIVILEGES;

  9. exit

  10. sudo vim /etc/mysql/my.cnf

  11. Elimine las líneas agregadas en el paso 2 si desea mantener sus estándares de seguridad.

  12. sudo service mysql restart

Para referencia: https://dev.mysql.com/doc/refman/5.7/en/resetting-permissions.html

Cambiar la contraseña de root de MySQL.

Este método expone la contraseña al historial de línea de comandos, estos comandos se deben ejecutar como raíz.

  1. Inicia sesión a través de la herramienta de línea de comandos mysql:

     mysql -uroot -poldpassword 
  2. Ejecute este comando:

     SET PASSWORD FOR root@'localhost' = PASSWORD('newpassword'); 

o

  1. Ejecute este comando, que establece una contraseña para el usuario actual (‘root’ para este caso):

    SET PASSWORD = PASSWORD (‘newpassword’);

Lo que funcionó para mí (Ubuntu 16.04, mysql 5.7):

Detener MySQL

 sudo service mysql stop 

Haga el directorio de servicio MySQL.

 sudo mkdir /var/run/mysqld 

Dale permiso al usuario de MySQL para escribir en el directorio del servicio.

 sudo chown mysql: /var/run/mysqld 

Inicie MySQL manualmente, sin verificaciones de permisos o redes.

 sudo mysqld_safe --skip-grant-tables --skip-networking & 

En otra consola, inicie sesión sin contraseña.

 mysql -uroot mysql 

Entonces:

 UPDATE mysql.user SET authentication_string=PASSWORD('YOURNEWPASSWORD'), plugin='mysql_native_password' WHERE User='root' AND Host='%'; EXIT; 

Desactiva MySQL.

 sudo mysqladmin -S /var/run/mysqld/mysqld.sock shutdown 

Comience el servicio MySQL normalmente.

 sudo service mysql start 

Si desea cambiar la contraseña de root de MySQL, en un terminal, ingrese:

sudo dpkg-reconfigure mysql-server-5.5

El daemon de MySQL se detendrá y se le pedirá que ingrese una nueva contraseña.

Esto funciona como el encanto. Lo hice para Ubuntu 16.04. Crédito completo para el enlace de abajo como lo obtuve de allí. [ https://coderwall.com/p/j9btlg/reset-the-mysql-5-7-root-password-in-ubuntu-16-04-lts%5D%5B1%5D

Detener MySQL

 sudo service mysql stop 

Haga el directorio de servicio MySQL. sudo mkdir / var / run / mysqld

Dale permiso al usuario de MySQL para escribir en el directorio del servicio.

 sudo chown mysql: /var/run/mysqld 

Inicie MySQL manualmente, sin verificaciones de permisos o redes.

 sudo mysqld_safe --skip-grant-tables --skip-networking & 

Inicia sesión sin contraseña

 mysql -uroot mysql 

Actualice la contraseña para el usuario raíz. asegúrese de que al menos la cuenta de root se actualice mediante la consulta siguiente. hacer una selección y verificar los valores existentes si lo desea

 UPDATE mysql.user SET authentication_string=PASSWORD('YOURNEWPASSWORD'), plugin='mysql_native_password' WHERE User='root' AND Host='%'; EXIT; 

Desactiva MySQL.

 sudo mysqladmin -S /var/run/mysqld/mysqld.sock shutdown 

Comience el servicio MySQL normalmente.

 sudo service mysql start 
  1. Detener MySQL sudo service mysql stop

  2. Haga el directorio de servicio MySQL. sudo mkdir / var / run / mysqld

  3. Dale permiso al usuario de MySQL para escribir en el directorio del servicio. sudo chown mysql: / var / run / mysqld

  4. Inicie MySQL manualmente, sin verificaciones de permisos o redes. sudo mysqld_safe –skip-grant-tables –skip-networking &

5. Inicie sesión sin una contraseña. mysql -uroot mysql

6. Actualice la contraseña para el usuario raíz.

ACTUALIZACIÓN mysql.user SET authentication_string = PASSWORD (‘YOURNEWPASSWORD’), plugin = ‘mysql_native_password’ WHERE Usuario = ‘root’ AND Host = ‘%’; SALIDA;

  1. Desactiva MySQL. sudo mysqladmin -S /var/run/mysqld/mysqld.sock shutdown

  2. Comience el servicio MySQL normalmente. sudo service mysql start

Haciéndose eco del comentario de rogerdpack: si no conoce la contraseña raíz de MySQL y no le importan los datos / configuraciones de MySQL, puede volver a instalarla y restablecer la contraseña de la raíz de la siguiente manera:

 sudo apt-get remove --purge mysql-server mysql-client mysql-common sudo rm -rf /var/lib/mysql sudo apt-get install -y mysql-server mysql-client 

Durante la instalación, puede elegir la contraseña de la raíz:

enter image description here

Si conoce su contraseña actual, no tiene que detener el servidor mysql. Abra la terminal ubuntu. Ingresa a mysql usando:

 mysql - username -p 

Luego escribe tu contraseña. Esto lo llevará a la consola de mysql. Dentro de la consola, escribe:

 > ALTER USER 'root'@'localhost' IDENTIFIED BY 'new_password'; 

Luego, limpie los privilegios usando:

 > flush privileges; 

Entonces ya has terminado.

Cuando utiliza la PASSWORD() de MySQL PASSWORD() en el sistema donde desea cambiar la contraseña, puede hacer que la contraseña aparezca en un registro MySQL en texto claro [ fuente ]. Mantenerlos, sus copias de seguridad, etc. tan seguro como la contraseña me suena a una pesadilla, así que me gustaría hacerlo de la siguiente manera:

  1. En su máquina local , ejecute esto con su contraseña:

      mysql -u someuser -p < <(echo "SELECT PASSWORD('mypass');") 

    Tenga en cuenta el espacio de delante para evitar que aparezca en el historial de bash (para otras distribuciones que Ubuntu, esto podría funcionar de manera diferente - fuente ).

  2. En su máquina servidor, ejecute el siguiente comando para cambiar su contraseña raíz de MySQL (reemplace myhash con el hash de su contraseña tal como se imprimió con el primer comando):

     mysql -u root -p < <(echo "SET PASSWORD FOR root@localhost = 'myhash';") 
  3. Opcionalmente, seamos un poco paranoicos: en su máquina local, borre la pantalla de su terminal con clear y purgue su scrollback de terminal virtual, para ocultar la contraseña de texto claro que aparece en el comando anterior.

Para actualizar la contraseña de usuario “raíz” de Mysql, debe tener en cuenta que necesitará permisos de superusuario para eso. Si tiene privilegios de superusuario, pruebe los siguientes comandos:

MySQL 5.7.6 y posterior

 sudo su service mysql stop mysql -u root ALTER USER 'root'@'localhost' IDENTIFIED BY 'MyNewPass'; \q; exit mysql -u root -p MyNewPass 

MySQL 5.7.5 y versiones anteriores

 sudo su service mysql stop mysql -u root SET PASSWORD FOR 'root'@'localhost' = PASSWORD('MyNewPass'); \q; exit mysql -u root -p MyNewPass 

Enfrenté problemas con ubuntu 18.04 y mysql 5.7, esta es la solución

MYSQL-SERVER> = 5.7

 sudo mysql -uroot -p USE mysql; UPDATE user SET authentication_string=PASSWORD('YOUR_PASSWORD') WHERE User='root'; UPDATE user SET plugin="mysql_native_password"; FLUSH PRIVILEGES; quit; 

MYSQL-SERVER <5.7

 sudo mysql -uroot -p USE mysql; UPDATE user SET password=PASSWORD('YOUR_PASSWORD') WHERE User='root'; UPDATE user SET plugin="mysql_native_password"; FLUSH PRIVILEGES; quit; 

En lugar de restablecer la contraseña, hay una solución en la máquina local si configuró phpmyadmin para conectarse sin dar la contraseña o el nombre de usuario. Compruébelo iniciando mysql , apache , etc. Tengo xampp instalado en mi máquina local. Entonces, al iniciar xampp se iniciarán todos los servicios necesarios. Ahora, ir a http://localhost/phpmyadmin me muestra todas las bases de datos. Esto confirma que ha guardado el nombre de usuario y la contraseña en el archivo de configuración de phpmyadmin que se puede encontrar en la ubicación de instalación de phpmyadmin . Si tiene xampp instalado, la carpeta phpmyadmin se puede encontrar en la carpeta raíz de la instalación de xampp . Busque la palabra password en el archivo config.inc.php . Allí encontrarás la password y el username .

Puede cambiar fácilmente la contraseña de mysql si se implementa en xampp a través de phpadmin gui provisto.

 phpMyAdmin -> User Accounts -> Edit Privileges (Select the intended user) -> Change Password (Tab) 

Puedes usar este comando:

ACTUALIZAR mysql.user SET Password = PASSWORD (‘newpwd’) WHERE Usuario = ‘root’;

después de eso, utilice los PRIVILEGIOS DE ENJUAGUE al ras;

para mysql 5.6, este comando funciona y puede establecer la contraseña a través del asistente:

 sudo dpkg-reconfigure mysql-server-5.6 

No necesitas todo esto. Simplemente inicie sesión:

mysql -u root -p

Luego cambie la contraseña del usuario actual como el indicador mysql> :

 mysql> set password=password('the_new_password'); mysql> flush privileges; 

Esta solución pertenece a la versión anterior de MySQL. Al iniciar sesión en MySQL utilizando la autenticación de socket, puede hacerlo.

 sudo mysql -u root 

Entonces el siguiente comando podría ejecutarse.

 ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'password'; 

Los detalles están disponibles aquí .

Al cambiar / restablecer la contraseña de MySQL, los siguientes comandos enumerados anteriormente no ayudaron. Descubrí que entrar en la terminal y usar estos comandos no tiene sentido. en su lugar use el comando sudo detener todo. ELIMINAR EL SISTEMA 32 para Windows si eso ayuda.

Para restablecer o cambiar la contraseña, ingrese sudo dpkg-reconfigure mysql-server-XX (XX es la versión de mysql que ha instalado, es decir, 5.6, 5.7) y luego solicitará una pantalla donde debe establecer la nueva contraseña y luego en el siguiente paso confirmar la contraseña y solo espere un momento. Eso es.

Tenía que seguir esta ruta en Ubuntu 16.04.1 LTS. Es algo así como una mezcla de algunas de las otras respuestas anteriores, pero ninguna de ellas ayudó. Pasé una hora o más probando todas las demás sugerencias del sitio web de MySql para todo en SO, finalmente lo conseguí trabajando con:

Nota: mientras mostraba Ingresar contraseña para el usuario root, no tenía la contraseña original, así que ingresé la misma contraseña para usarla como nueva contraseña.

Nota: no había /var/log/mysqld.log solo /var/log/mysql/error.log

También tenga en cuenta que esto no funcionó para mí:
sudo dpkg-reconfigure mysql-server-5.7

Ni hicimos:
sudo dpkg-reconfigure --force mysql-server-5.5

Haga el directorio de servicio MySQL.
sudo mkdir /var/run/mysqld

Dale permiso al usuario de MySQL para escribir en el directorio del servicio.
sudo chown mysql: /var/run/mysqld

Entonces:

  1. matar el actual mysqld pid
  2. ejecuta mysqld con sudo / usr / sbin / mysqld &
  3. ejecutar / usr / bin / mysql_secure_installation

    Salida de mysql_secure_installation

    root @ myServer: ~ # / usr / bin / mysql_secure_installation

    Asegurar la implementación del servidor MySQL.

    Ingrese la contraseña para el usuario root:

    VALIDATE PASSWORD PLUGIN se puede usar para probar contraseñas y mejorar la seguridad. Comprueba la fortaleza de la contraseña y permite a los usuarios establecer solo aquellas contraseñas que sean lo suficientemente seguras. ¿Le gustaría configurar el plugin VALIDATE PASSWORD?

    Presione y | Y para Sí, cualquier otra tecla para No: no Usar contraseña existente para root. Cambiar la contraseña para root? ((Presione y | Y para Sí, cualquier otra tecla para No): y

    Nueva contraseña:

    Vuelva a ingresar la nueva contraseña: de forma predeterminada, una instalación de MySQL tiene un usuario anónimo, lo que permite que cualquiera inicie sesión en MySQL sin tener que tener una cuenta de usuario creada para ellos. Esto es solo para probar y para hacer que la instalación sea un poco más suave. Debe eliminarlos antes de pasar a un entorno de producción.

    Eliminar usuarios anónimos? (Presione y | Y para Sí, cualquier otra tecla para No): y Éxito.

    Normalmente, root solo debería poder conectarse desde ‘localhost’. Esto garantiza que alguien no pueda adivinar la contraseña de root de la red.

    ¿Deshabilitar el inicio de sesión raíz de forma remota? (Presione y | Y para Sí, cualquier otra tecla para No): y Éxito.

    Por defecto, MySQL viene con una base de datos llamada ‘prueba’ a la que cualquiera puede acceder. Esto también está destinado solo para pruebas, y debe eliminarse antes de pasar a un entorno de producción.

    ¿Eliminar la base de datos de prueba y acceder a ella? (Presione y | Y para Sí, cualquier otra tecla para No): y

    • Bajando la base de datos de prueba … Éxito.

    • Eliminando privilegios en la base de datos de prueba … Éxito.

    Volver a cargar las tablas de privilegios asegurará que todos los cambios realizados hasta el momento entren en vigencia inmediatamente.

    Recargar tablas de privilegios ahora? (Presione y | Y para Sí, cualquier otra tecla para No): y Éxito.

    ¡Todo listo!

Puede probar estos algunos pasos para restablecer la contraseña de root de mysql 5.7:

Detener el servicio Mysql primero

 sudo /etc/init.d/mysql stop 

Inicie sesión como root sin contraseña sudo mysqld_safe --skip-grant-tables &

Después de iniciar sesión en la terminal mysql, deberás ejecutar más comandos:

 use mysql; UPDATE mysql.user SET authentication_string=PASSWORD('solutionclub3@*^G'), plugin='mysql_native_password' WHERE User='root'; flush privileges; sudo mysqladmin -S /var/run/mysqld/mysqld.sock shutdown 

Después de reiniciar su servidor mysql Si aún enfrenta un error, debe visitar: Restablecer la contraseña de raíz de MySQL 5.7 Ubuntu 16.04