Rollback: En tecnologías de base de datos, un rollback es una
operación que devuelve a la base de datos a algún estado previo. Los Rollbacks
son importantes para la integridad de la base de datos, a causa de que
significan que la base de datos puede ser restaurada a una copia limpia incluso
después de que se han realizado operaciones erróneas.
Commit: En el contexto de la Ciencia de la computación y la gestión de
datos, commit (acción de comprometer) se refiere a la idea de consignar un
conjunto de cambios "tentativos, o no permanentes". Un uso popular es
al final de una transacción de base de datos.
Recovery: El Modo de Recuperación, también conocido como Modelo
de Recuperación ó Modo de Registro, es una opción de configuración de base de
datos que indica cómo se gestiona el uso del LOG de Transacciones de SQL Server
para dicha base de datos (esta opción se configura para cada base de datos de
forma independiente).
Como realizar
estas operaciones en MySQL
1) Creamos una
tabla
mysql> CREATE
TABLE innotest (campo INT NOT NULL PRIMARY KEY) TYPE = InnoDB;
Query OK, 0 rows
affected (0.10 sec)
mysql> INSERT
INTO innotest VALUES(1);
Query OK, 1 row
affected (0.08 sec)
mysql> INSERT
INTO innotest VALUES(2);
Query OK, 1 row
affected (0.01 sec)
mysql> INSERT
INTO innotest VALUES(3);
Query OK, 1 row
affected (0.04 sec)
mysql> SELECT
* FROM innotest;
+-------+
| campo |
+-------+
| 1 |
| 2 |
| 3 |
+-------+
3 rows in set (0.00 sec)
2) Ahora realizamos una transacción
mysql> BEGIN;
Query OK, 0 rows
affected (0.01 sec)
mysql> INSERT
INTO innotest VALUES(4);
Query OK, 1 row
affected (0.00 sec)
mysql> SELECT
* FROM innotest;
+-------+
| campo |
+-------+
| 1 |
| 2 |
| 3 |
| 4 |
+-------+
4 rows in set (0.00 sec)
Si aplicamos el Rollback los cambios no tendran efecto:
mysql>
ROLLBACK;
Query OK, 0 rows
affected (0.06 sec)
mysql> SELECT
* FROM innotest;
+-------+
| campo |
+-------+
| 1 |
| 2 |
| 3 |
+-------+
3 rows in set (0.00 sec)
3) Si hacemos una operación commit por lo contrario,
los cambios se realizaran:
mysql> BEGIN;
Query OK, 0 rows
affected (0.00 sec)
mysql> INSERT
INTO innotest VALUES(4);
Query OK, 1 row
affected (0.00 sec)
mysql> COMMIT;
Query OK, 0 rows
affected (0.02 sec)
mysql> SELECT
* FROM innotest;
+-------+
| campo |
+-------+
| 1
|
| 2
|
| 3
|
| 4
|
+-------+
4 rows in set
(0.00 sec)
Como hacer el
recovery:
Backup:mysqldump –host IP_DEL_SERVER –user USUARIO –opt
DATABASE -p > BACKUP_NAME(La opción –opt optimiza el proceso de backup y es
recomenado su uso)
Restore:mysql
–host IP_DEL_SERVER -u USUARIO -p DATABASE < BACKUP_NAME
No hay comentarios:
Publicar un comentario