En este tutorial vamos a ver cómo se puede cambiar la contraseña de root de MySQL desde la cónsola del sistema y de una forma muy sencilla.
En primer lugar debemos detener el servicio MySQL.
# /etc/init.d/mysql stop
Stopping MySQL database server: mysqld.
A continuación iniciamos de nuevo el servicio, pero en "modo abierto" y en background.# mysqld_safe --skip-grant-tables --skip-networking &
[1] 18305
120601 12:56:45 mysqld_safe Logging to syslog.
120601 12:56:45 mysqld_safe Starting mysqld daemon with databases from /var/lib/mysql
En el comando anterior, la opción --skip-grant-tables
hace que el servidor no utilice el sistema de permisos, con lo que podremos obtener acceso sin restricciones a todos los usuarios y a todas las bases de datos.NOTA: Si MySQL fue configurado y compilado con la opción '
--disable-grant-options
' entonces lo anterior no funcionará y no hay mucho que hacer para poder cambiar la contraseña. En la práctica, por suerte, esta opción no se suele usar.La opción
--skip-networking
indicada más arriba hace que MySQL deje de escuchar (LISTEN) conexiones TCP/IP provenientes de la red y opere únicamente en el ámbito local.Una vez reiniciado el servicio en modo "abierto" y "local", ya podemos acceder al monitor y proceder. Para trabajar con ella, capturaremos la base de datos
mysql
.# mysql -u root
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 1
[...]
mysql> use mysql;
Procedemos a la actualización del campo 'password' del usuario 'root' y, como ya hemos terminado, abandonamos del monitor.mysql> UPDATE user SET password=PASSWORD('NUEVA_CONTRASEÑA') WHERE user='root';
Query OK, 2 rows affected (0.00 sec)
Rows matched: 2 Changed: 2 Warnings: 0
mysql> exit
Solo queda reiniciar el servicio mysql. # /etc/init.d/mysql restart
Stopping MySQL database server: mysqld
120601 12:58:35 mysqld_safe mysqld from pid file /var/run/mysqld/mysqld.pid ended.
Starting MySQL database server: mysqld.
Checking for corrupt, not cleanly closed and upgrade needing tables..
[1]+ Hecho mysqld_safe --skip-grant-tables --skip-networking
Lo que ha ocurrido es que se detenido el servicio (que operaba en background y modo "abierto" y "local") y se ha vuelto a iniciar en modo "normal". Desde este momento ya se puede acceder al sistema con la nueva contraseña.
0 comentarios:
Publicar un comentario