Restablecer contraseña root en MySQL

Publicado por | 05/07/2009 | en MySQL

mysql-logoCómo restablecer la contraseña root en MySQL, útil cuando nos hemos olvidado de ella. A continuación, una explicación de cómo hacerlo tanto en entornos Windows como Unix.

Entorno Windows:

1. Entra en el sistema como Administrador.

2. Para el servidor MySQL si se está ejecutando. Para servidores que se estén ejecutando como servicio de Windows, ve al Gestor de Servicios:
Menú Inicio -> Panel de Control -> Herramientas administrativas -> Servicios

Después busca en la lista el servicio MySQL, y lo paras.
Si tu servidor no está ejecutándose como servicio, podrías necesitar utilizar el Gestor de tareas para forzarlo a parar.

3. Crea un archivo de texto e introduce el siguiente comando en él, en una única línea:
SET PASSWORD FOR ‘root’@'localhost’ = PASSWORD(‘MiNuevaContraseña’);

4. Guarda el archivo con cualquier nombre. Para este ejemplo, el nombre del archivo será C:\mysql-init.txt.

5. Abre una ventana de comandos para obtener una consola de comandos DOS:
Menú Inicio -> Ejecutar -> cmd

6. Asumiremos que tienes instalado MySQL en C:\mysql. Si lo instalaste en algún otro lugar, ajusta los siguientes comandos de manera adecuada.
En la línea de comandos DOS, ejecuta esta orden:

C:\> C:\mysql\bin\mysqld-nt –init-file=C:\mysql-init.txt

Los contenidos del archivo nombrado por la opción –init-file son ejecutados en el inicio del servidor, cambiando la contraseña de root. Cuando el servidor se haya iniciado correctamente, debería borrar el archivo C:\mysql-init.txt.
Los usuarios de MySQL 4.1 y superiores que instalen MySQL utilizando el instalador de mySQL, pueden necesitar especificar una opción –defaults-file:
C:\> C:\Archivos de Programa\MySQL\MySQL Server 5.0\bin\mysqld-nt.exe
–defaults-file=”C:\Archivos de Programa\MySQL\MySQL Server 5.0\my.ini”
–init-file=C:\mysql-init.txt

La configuración apropiada de –defaults-file puede encontrarse utilizando el Gestor de Servicios:
Menú Inicio -> Panel de Control -> Herramientas Administrativas -> Servicios

Busca el servicio MySQL en la lista, pulsa con el botón derecho del ratón, y escoge la opción Propiedades. El campo Ruta al Ejecutable contiene la configuración de –defaults-file.

7. Para el servidor MySQL, y reinícialo en modo normal de nuevo. Si ejecuta el servidor como servicio, inícialo desde la ventana de servicios de Windows. Si ejecutas el servidor manualmente, utiliza el comando que normalmente usas.

8. Deberías poder conectar utilizando la nueva contraseña.

Entorno Unix:

1. Entra en tu sitema como usuario Unix root o bien como el mismo usuario que ejecuta el servidor mysqld.

2. Localiza el archivo .pid que contiene el ID de proceso del servidor. La localización exacta y el nombre de este archivo depende de su distribución, nombre de máquina, y configuración. Lugares comunes son /var/lib/mysql/, /var/run/mysqld/, y /usr/local/mysql/data/.

Generalmente, el archivo tiene una extensión .pid y comienza con mysqld o el nombre de su máquina.

Puedes parar el servidor MySQL enviando un comando kill (no kill -9) a el proceso mysqld utilizando la ruta del archivo .pid en el siguiente comando:

shell> kill `cat /mysql-data-directory/host_name.pid`

Nota el uso de acentos abiertos en vez de comillas simples con el comando cat; estos causan que la salida de cat sea sustituida en el comando kill.

3. Crea un archivo de texto e introduce el siguiente comando en una única línea:

4. SET PASSWORD FOR ‘root’@'localhost’ = PASSWORD(‘MiNuevaContraseña’);

Guarda el archivo con cualquier nombre. Para este ejemplo, el archivo tendrá el nombre ~/mysql-init.

5. Reinicia el servidor MySQL con la opción especial –init-file=~/mysql-init:

6. shell> mysqld_safe –init-file=~/mysql-init &

Los contenidos del archivo son ejecutados al inicio del servidor, cambiando la contraseña de root. Después de que el servidor se haya iniciado con éxito, debería borrar ~/mysql-init.

7. Deberías poder conectarte utilizando la nueva contraseña.

Una alternativa, en cualquier plataforma, es establecer la nueva contraseña desde el cliente mysql (pero esta manera es menos segura):

1. Para mysqld y reinícialo con la opción –skip-grant-tables –user=root (Los usuarios de Windows debéis omitir la parte de –user=root).
2. Conectate al servidor mysqld con este comando:
3. shell> mysql -u root
4. Ejecuta las siguientes sentencias en el cliente mysql:
5. mysql> UPDATE mysql.user SET Password=PASSWORD(‘nuevacontraseña’)
6. -> WHERE User=’root’;
7. mysql> FLUSH PRIVILEGES;

Reemplaza “nuevacontraseña” con la contraseña de root real que quieras utilizar.

8. Deberías poder conectarte utilizando la nueva contraseña.

Fuente: Web oficial MySQL

¿Te gustó esta entrada? ¡Compártela!
  • Digg
  • del.icio.us
  • Facebook
  • Mixx
  • Google Bookmarks
  • BarraPunto
  • MySpace
  • Reddit
  • Technorati
  • Design Float
  • Meneame
  • StumbleUpon
  • Twitter
Comment RSS Trackback URL

Ningún comentario

Dejar una respuesta