Google+

martes, 5 de abril de 2016

Restablecimiento de la contraseña root en mysql


Hola a tod@s
Hoy os voy a contar un nuevo problema.
Imaginad que os dan la administración de un servidor linux en el que hay una instancia MYSQL corriendo.
Al hacer el traspaso de la información os facilitan las claves de los usuarios y la de root para entrar el servidor, pero nadie os habla la contraseña del MYSQL. Todo va bien hasta que un día tenéis que hacer algo en la BBDD y nadie sabe ni recuerda la contraseña que se puso en su día.
Ok, pues nos toca “saltarse la contraseña y establecer una nueva” para ello hay que hacer lo siguiente:
(OJO!!, este procedimiento implica una parada en el servicio de MYSQL.)
Paso 1: Detener cualquier proceso del servidor MySQL.
Paso 2: Iniciar el proceso del servidor MySQL (mysqld) con la opción –skip-grant-tables por lo cual este no preguntará por la contraseña.
Paso 3: Conectar al servidor MySQL como el usuario root
Paso 4: Configurar una nueva contraseña para la nueva contraseña root
Paso 5: Salir y reiniciar el servidor MySQL.
Visto así parece algo complicado, así que vamos a poner todos los comandos necesarios para cada uno de los pasos mencionados anteriormente para que sea un poco más sencillo (para realizar esta operativa tenéis que ser root de la máquina)
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
Iniciando el motor de mysqld de las bases de datos desde /var/lib/mysql
mysqld_safe[6025]: started
Paso # 3: Conectar al servidor mysql usando el cliente mysql:
mysql -u root
Salida:
Bienvenido al monitor de MySQL. Comandos y con ; o \g.
Your MySQL connection id is 1 to server version: 5.0.21-log
Teclear ‘help;’ o ‘\h’ para obtener ayuda. Tipiar ‘\c’ para en vaciar el buffer.
mysql>
Paso # 4: Configurar una nueva contraseña del servidor MySQL para el usuario root:
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[6121]: ended
[1]+ Done mysqld_safe –skip-grant-tables
Paso # 6: Iniciar el servidor MySQL y verificar la contraseña:
/etc/init.d/mysql start
mysql -u root -p
Espero que os haya resultado util este pequeño “manual” :)
Un saludo a tod@s!