Cambiar la contraseña de root en PHPMyAdmin

Facebooktwittergoogle_pluslinkedinmailFacebooktwittergoogle_pluslinkedinmail

phpmyadminCuando instalamos en nuestro ordenador MySQL, y el entorno gráfico PHPMyAdmin (con una herramienta tipo Xampp, Wamp, Mamp o similar), nos encontramos conque tenemos, por defecto, un usario root sin contraseña. Esto, para trabajar en local, es lo más cómodo en la mayoría de las ocaciones. Sin embargo, es posible que, en algún momento, deseemos cambiar la contraseña de root. Con PHPMyAdmin esto es más fácil de lo que parece. Aunque desde la lista de usuarios no hay una opción clara para esto, en este post veremos cómo hacerlo de forma rápida y fácil.

EN PHPMyAdmin

Con PHPMyAdmin abierto, sin haber seleccionado aún ninguna base de datos, pulsamos el botón SQL de la barra superior.

el_boton_sql

Se nos muestra un área de texto para teclear una consulta. Escribiremos las dos líneas siguientes:

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

A continuación pulsamos el botón Continuar que hay en la parte inferior derecha de la ventana.

Recuerda que donde yo he puesto 'nuevaclave' tú debes poner la clave que desees. Donde yo he puesto 'root' tú debes poner el nombre de usuario al que le quieras cambiar la contraseña. En todo caso, tanto la clave como el usuario deben tener las comillas simples que ves en la muestra.

Con esto hemos terminado con PHPMyAdmin.

EL ARCHIVO DE CONFIGURACIÓN

Ahora debemos ir al archivo de configuración de PHPMyAdmin. Su nombre es config.inc.php. Si estás usando Xampp, está en la ruta C:/xampp/phpMyAdmin. Si estás usando otra herramienta, o has instalado los servidores manualmente, deberás buscarlo en la ruta correspondiente en tu caso. Vete a la línea 21 del archivo, donde encuentras lo siguiente:

$cfg['Servers'][$i]['password'] = '';

Cambia el valor de la clave, por el que pusiste en la consulta SQL. Siguiendo con nuestro ejemplo, la línea quedaría así:

$cfg['Servers'][$i]['password'] = 'nuevaclave';

Graba los cambios, y ya lo tienes todo listo. A partir de este momento, el usuario root ya tiene la clave indicada.

El número de línea puede variar, dependiendo de tu instalación MySQL (en tu caso, puede no ser la línea 21). Cómo lo que vas a hacer se refiere al usuario root, deberás buscar la línea que está debajo de:

$cfg['Servers'][$i]['user'] = 'root';

Cómo ves, es muy fácil asignarle una clave al usuario root.

     

10 comentarios:

  1. Porque cuando le asigno clave a root ya no puedo abrir mis proyectos en el localhost, me salta un error relacionado con Db_dirver php. en la linea 24

    • Hola:
      Cuando estableces una contraseña (o la cambias) en tu motor de BD, debes cambiarla, también, en todos tus scripts que accedan a MySQL. Si no, no vas a poder conectar. No sé si te refieres a eso, porque tu pregunta no es muy detallada, pero, asegurándote de que las credenciales establecidas en MySQL sean las mismas que en tu conexión en php, no tendrás problemas para acceder.

  2. Hola!
    copie las dos primeras lineas del texto, y me tiro un error de MYSQL, que tengo acceso denegado. En que me equivoque? copie y cambie mi clave, como decia que debo hacerlo. ahora directamente no puedo ver mi BD en mi local.

    gracias!

    • Hola:

      He visto tu mensaje y voy a tratar de ayudarte. Veo que no me especificas si tienes MySQL instalado con xampp, wamp, u otro paquete. La operativa es la misma en teoría, aunque sé que, en el caso de algunos sistemas Mac antiguos (no se si es tu caso), antes de poner Mamp, las configuraciones daban algunos problemas debido a un fichero del sistema. Si es el caso, deberías recurrir a algún foro específico de Mac.

      Si no es ese el caso, asegúrate de cambiar también la configuración de PHPMyAdmin, como se detalla en la segunda parte del post. Esto es muy importante.

      Si, después de cambiar la configuración de PHPMyAdmin sigues teniendo problemas, vamos a revertir el proceso:

      1) Volvemos a dejar la configuración de PHPMyAdmin como estaba originalmente. Lo ideal sería haber sacado una copia del archivo antes de editarlo. Esto, como norma general cuando se vaya a cambiar cualquier cosa, para poder volver facilmente al estado anterior.

      2) En el caso de que tengas xampp, irás al directorio C:/xampp/mysql/data/mysql/ en el que hay tres archivos, llamados user.frm, user.MYD y user.MYI. Los reemplazarás con los tres de una instalación de xampp “limpia” desde cero, sin modificaciones.

      Con esto, habremos dejado la base de datos y PHPMyAdmin como estaba (usuario root sin contraseña).

      Otra cosa que debes tener en cuenta es que, según la configuración de Apache, localhost podría no ser localhost. En ocasiones tecleas localhost/phpmyadmin y no te funciona. En su lugar, tecleas 127.0.0.1/phpmyadmin y todo va bien. No tiene que ver directamente con MySQL, pero, al ser cosa de Apache, sí afecta.

      Espero que te resulte útil.

  3. Jensen F. Castillo

    Hola.
    mi problema es que no me acuerdo de mi contraseña, tube problemas con conectarme al Wampserver64, por error de puerto cuando cambie el puerto de 80 a 8080 que me dirigi por un tutorial me funciono y me dirigio a la pagina para iniciar seccion pero la contraseña que se suponia que tenia no funcionan y he buscado de todas forma para iniciar seccion.

    me puedes ayudar..

    • Sin la contraseña, no es fácil. Podrías buscar en stack overflow como crackear wamp server, pero esas cosas siempre acarrean riesgos. Lo mejor es que saques copias de todos los proyectos que tengas, y de las bases de datos, y desinstales y vuelvas a instalar. Si es tu ordenador local, ponle usuario root sin contraseña, y te quitas de problemas.

  4. Alfredo Arold

    Muchas gracias por tu aportación. Hasta la fecha la versión anterior de xAmpp venía de tal forma que la clave usuario se cambiaba directamente sobre la pantalla. Tuve que pasarme a PHP 5.6 para poder utilizar passwordhash() y passwordverify() y me encontré con que phpMyAdmin venía sin clave y no recordaba cómo se hacía ( me voy haciendo viejo, jj ya tengo 66 años y éstos no pasan en balde).
    Ahora voy a ver si también puedo dejar de utilizar el usuario ‘root’ y así sería perfecto puesto que pasaría los datos al servidor sin tener que realizar modificaciones de última hora sobre el código.
    Lo dicho: muchas gracias.

  5. Pingback: Colocar contraseña a MySQL Server en cuenta root en Kubuntu 18.04 - mysql linux contraseña - Preguntas/Respuestas

  6. Lo que se comenta en este post… ¿es válido también para instalaciones en VPS? Me refiero a que yo ya tengo mi página publicada en un hosting (concretamente en una VPS) y aunque sí se podría cambiar la contraseña en phpmyadmin, resulta que al abrir el archivo config.inic.php está vació, no tiene ni una sola línea.

    ¿Esto es normal o lo estoy haciendo mal? Por otra parte, si cambio la contraseña root en phpmyadmin pero no lo hago en el archivo config.inic.php ¿podré acceder a phpmyadmin o no será posible?

    Gracias por la respuesta, un saludo.

    • Hola, Sergio:
      Me temo que no soy la persona adecuada para responderte como necesitas. La respuesta genérica a tu pregunta es que, en principio, con un VPS no deberías tener problema para este cambio. Sin embargo, evidentemente, quien mejor te puede responder es el administrador de sistemas de tu proveedor. Si es un proveedor de primera línea (leáse ACENS o AWS, por ejemplo) no te van a poner problemas, y seguro que te indican donde está la configuración de MySQL.

Deja un comentario

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