lunes, 15 de abril de 2013

Backup de mysql cuando no se tiene el password

¿Olvidaste o perdiste la contraseña del usuario 'root' de MySQL?, no hay problema, solo sigue estás sencillas instrucciones y podrás establecer una nueva. Claro siempre y cuando tengas acceso al usuario 'root' de Linux.

Detener el servidor
#> /etc/rc.d/init.d/mysqld stop

Iniciar en modo FULL o abierto
#> mysqld_safe --skip-grant-tables --skip-networking&
esta opción causa que el servidor no use el sistema de privilegios lo que le da acceso ilimitado a todas las bases de datos a todos los usuarios de la base de datos.

Iniciar el monitor
#>mysql -u root
Como no hay sistema de privilegios en este momento, no se preguntara por la contraseña.

En este momento ya podemos manipular cualquier base de datos que esté en nuestro servidor con todos los privilegios.



Respaldar las bases de datos:
mysql> show databases;
+--------------------+
| Database           |
+--------------------+
| information_schema | 
| jaws_holafen       | 
| jaws_p108584       | 
| mysql              | 
| mysql_eo           | 
| mysql_ru           | 
| redesuni           | 
| test               | 
| webfcq             | 
| webfcq2            | 
| webfd              | 
+--------------------+ 
 
 
RESPALDAR: Ya que podemos ver los nombres de las bases de datos podemos empezar a respaldar cada base de datos:


mysqldump basededados > /home/usuario/backup.sql

 
O respaldar todas las bases de datos juntas:

mysqldump -A /home/usuario/backup_all.sql


la condición -A (“-all-databases”) selecciona todas las bases de datos existentes en el servidor.

Si nuestro caso , aparte de respaldar la base de datos es seguir usando el servidor, es necesario contar con la contraseña de root para mysql,  como en este caso no la sabemos , la podemos cambiar de esta manera:

CAMBIAR LA CONTRASEÑA DE ROOT MYSQL

Usamos la base de datos del sistema mysql
mysql> use mysql;

Actualizamos el campo que cambiará la contraseña de 'root'
mysql> UPDATE user SET password=PASSWORD('nuevo_pass') WHERE user='root';
Query OK, 1 rows affected (0.07 sec)
Rows matched: 1  Changed: 1  Warnings: 0

mysql> exit
#>

Reiniciar el servidor y listo!!!
#> service mysqld restart

La siguiente vez que entrés al monitor () usa la nueva clave o contraseña.

No hay comentarios: