Cómo restablecer la contraseña raíz de MySQL o MariaDB

Introducción

Índice
  1. Introducción
  • Prerrequisitos
  • Paso 1: Identificación de la versión de la base de datos
  • Paso 2: Detener el servidor de base de datos
  • Paso 3: Reiniciar el servidor de base de datos sin comprobar los permisos
  • Paso 4: Cambiar la contraseña raíz
  • Paso 5: reinicie el servidor de base de datos normalmente
  • Conclusión
  • A todos nos pasa que olvidamos las contraseñas. Si olvidas o pierdes la contraseña raíz de tu base de datos MySQL o MariaDB, aún puedes obtener acceso y restablecer la contraseña si tienes acceso al servidor y una sudocuenta de usuario habilitada.

    Este tutorial cubrirá cómo restablecer la contraseña root para versiones anteriores y nuevas de MySQL y MariaDB.

    Prerrequisitos

    Para recuperar su contraseña raíz de MySQL/MariaDB, necesitará:

    • Acceso al servidor Linux MySQL o MariaDB con un usuario sudo.

    Paso 1: Identificación de la versión de la base de datos

    La mayoría de las distribuciones modernas de Linux incluyen MySQL o MariaDB, un reemplazo directo popular que es totalmente compatible con MySQL. Según la base de datos utilizada y su versión, debe utilizar diferentes comandos para recuperar la contraseña de root.

    Puedes comprobar tu versión con el siguiente comando:

    mysql --version

    Verás una salida como ésta con MySQL:

    MySQL outputmysql  Ver 14.14 Distrib 5.7.16, for Linux (x86_64) using  EditLine wrapper

    O una salida como esta para MariaDB:

    MariaDB outputmysql  Ver 15.1 Distrib 5.5.52-MariaDB, for Linux (x86_64) using readline 5.1

    Tenga en cuenta qué base de datos y versión está ejecutando, ya que las utilizará más adelante. A continuación, debe detener la base de datos para acceder a ella manualmente.

    Paso 2: Detener el servidor de base de datos

    Para cambiar la contraseña root, primero debe apagar el servidor de base de datos.

    Puedes hacer esto para MySQL con:

    sudo systemctl stop mysql

    Y para MariaDB con:

    sudo systemctl stop mariadb

    Una vez detenido el servidor de base de datos, podrás acceder a él manualmente para restablecer la contraseña root.

    Paso 3: Reiniciar el servidor de base de datos sin comprobar los permisos

    Si ejecuta MySQL y MariaDB sin cargar información sobre los privilegios de usuario, puede acceder a la línea de comandos de la base de datos con privilegios de root sin proporcionar una contraseña. Esto le permitirá obtener acceso a la base de datos sin saberlo.

    Para ello, debe impedir que la base de datos cargue las tablas de concesión, que almacenan información sobre los privilegios de los usuarios. Como esto supone un pequeño riesgo para la seguridad, también debe omitir la conexión en red para evitar que otros clientes se conecten.

    Inicie la base de datos sin cargar las tablas de concesión ni habilitar la red:

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

    El signo al final de este comando hará que este proceso se ejecute en segundo plano para que pueda seguir usando su terminal.

    Ahora, puede conectarse a la base de datos como usuario root, lo que no debería requerir una contraseña.

    mysql -u root

    En su lugar, verás inmediatamente un indicador de shell de base de datos.

    Indicador de MySQL

    Type 'help;' or 'h' for help. Type 'c' to clear the current input statement.mysql

    Indicador de MariaDB

    Type 'help;' or 'h' for help. Type 'c' to clear the current input statement.MariaDB [(none)]

    Ahora que tiene acceso root, puede cambiar la contraseña root.

    Paso 4: Cambiar la contraseña raíz

    Una forma sencilla de cambiar la contraseña de root en las versiones modernas de MySQL es mediante el ALTER USERcomando . Sin embargo, este comando no funcionará en este momento porque las tablas de concesión no están cargadas.

    Digámosle al servidor de base de datos que recargue las tablas de concesión emitiendo el FLUSH PRIVILEGEScomando.

    1. FLUSH PRIVILEGES;

    Ahora podemos cambiar la contraseña root.

    Utilice el siguiente comando para MySQL 5.7.6 y versiones más recientes y MariaDB 10.1.20 y versiones más recientes .

    1. ALTER USER 'root'@'localhost' IDENTIFIED BY 'new_password';

    Para MySQL 5.7.5 y anteriores, así como MariaDB 10.1.20 y anteriores, utilice:

    1. SET PASSWORD FOR 'root'@'localhost' = PASSWORD('new_password');

    Asegúrese de reemplazarla new_passwordcon su nueva contraseña elegida.

    Nota : Si el ALTER USERcomando no funciona, generalmente es señal de un problema mayor. Sin embargo, puedes intentar UPDATE ... SETrestablecer la contraseña de root.

    1. UPDATE mysql.user SET authentication_string = PASSWORD('new_password') WHERE User = 'root' AND Host = 'localhost';

    Recuerde volver a cargar las tablas de subvenciones después de esto.

    En cualquier caso, debería ver la confirmación de que el comando se ha ejecutado correctamente.

    OutputQuery OK, 0 rows affected (0.00 sec)

    Se ha cambiado la contraseña, por lo que ahora puedes detener la instancia manual del servidor de base de datos y reiniciarlo como estaba antes.

    Paso 5: reinicie el servidor de base de datos normalmente

    En primer lugar, detenga la instancia del servidor de base de datos que inició manualmente en el paso 3. Este comando busca el PID o ID de proceso del proceso MySQL o MariaDB y envía SIGTERMun mensaje para indicarle que salga sin problemas después de realizar operaciones de limpieza. Puede obtener más información en este tutorial de administración de procesos de Linux.

    Para MySQL, utilice:

    sudo kill `cat /var/run/mysqld/mysqld.pid`

    Para MariaDB, utilice:

    sudo kill `/var/run/mariadb/mariadb.pid`

    Luego, reinicie el servicio utilizando systemctl.

    Para MySQL, utilice:

    sudo systemctl start mysql

    Para MariaDB, utilice:

    sudo systemctl start mariadb

    Ahora puedes confirmar que la nueva contraseña se ha aplicado correctamente ejecutando:

    mysql -u root -p

    El comando ahora debería solicitar la contraseña recién asignada. Introdúzcala y debería obtener acceso al indicador de la base de datos como se esperaba.

    Conclusión

    Ahora tiene acceso administrativo al servidor MySQL o MariaDB restaurado. Asegúrese de que la nueva contraseña raíz que elija sea segura y guárdela en un lugar seguro.

    SUSCRÍBETE A NUESTRO BOLETÍN 
    No te pierdas de nuestro contenido ni de ninguna de nuestras guías para que puedas avanzar en los juegos que más te gustan.

    Deja una respuesta

    Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

    Subir

    Este sitio web utiliza cookies para mejorar tu experiencia mientras navegas por él. Este sitio web utiliza cookies para mejorar tu experiencia de usuario. Al continuar navegando, aceptas su uso. Mas informacion