¿Es posible recuperar datos de una tabla BLACKHOLE? [cerrado]


8

Había creado una tabla con el motor BLACKHOLE, básicamente, el motor de almacenamiento BLACKHOLE actúa como un "agujero negro" que acepta datos pero los tira y no los almacena. Las recuperaciones siempre devuelven un resultado vacío.

Escuché que podemos recuperar los datos creando una nueva tabla igual que la tabla anterior con motor de almacenamiento como innodb o myisam. pero también lo intenté pero no pude obtener el resultado. ¿Alguien puede ayudarme en este problema para solucionarlo?

mysql> CREATE TABLE test1(i INT, c CHAR(10)) ENGINE = BLACKHOLE;
Query OK, 0 rows affected (0.08 sec)

mysql> INSERT INTO test1 VALUES(1,'record one'),(2,'record two');
Query OK, 2 rows affected (0.00 sec)
Records: 2  Duplicates: 0  Warnings: 0

mysql> select * from test1;
Empty set (0.00 sec)

mysql>  CREATE TABLE test_recovery as select * from test1;
Query OK, 0 rows affected (0.17 sec)
Records: 0  Duplicates: 0  Warnings: 0

mysql> ALTER TABLE test_recovery ENGINE = innodb;
Query OK, 0 rows affected (0.25 sec)
Records: 0  Duplicates: 0  Warnings: 0


mysql> SELECT * FROM test_recovery;
Empty set (0.00 sec)

44
Nada puede salir de un agujero negro, ni siquiera la luz. Es por eso que fueron nombrados de esta manera.
— ypercubeᵀᴹ

2
@ypercube ¿Qué pasa con la radiación de Hawking? ¿Y qué hay de la recuperación de un punto en el tiempo con los registros bin?
— jynus

44
¿Qué pasa con el motor MySQLWormhole? ¡De esa manera podría viajar en el tiempo y recuperar sus datos antes de que ingresen al MySQLBlackhole!
— Vérace

66
¿Estás corriendo en Unix? Los datos pueden estar en / dev / null
— Philᵀᴹ

55
Esta pregunta parece estar fuera de tema porque se trata de lo imposible. Como dice el usuario y la documentación "El motor de almacenamiento BLACKHOLE actúa como un" agujero negro "que acepta datos pero los tira y no los almacena. Las recuperaciones siempre devuelven un resultado vacío"
— billinkc

Respuestas:


13

Tu dijiste

Escuché que podemos recuperar los datos creando una nueva tabla igual que la tabla anterior con motor de almacenamiento como innodb o myisam

Quien le haya dicho eso debería haberle dicho que habilite los registros binarios como comentó @jynus.

El motor de almacenamiento BLACKHOLE no almacena datos en absoluto . Es un motor de almacenamiento especial utilizado en configuraciones muy meticulosas.

EJEMPLO # 1: Topología en estrella

Algunos tienen topologías en estrella para escribir datos en un maestro de replicación MySQL. El maestro no tiene más que mesas BLACKHOLE. Todos los esclavos tienen InnoDB o MyISAM. De esa manera, si el maestro es pirateado, no hay datos locales. Tal maestro se conoce como maestro de distribución.

EJEMPLO # 2: Esclavo único, Maestros múltiples

Esto implica configurar la replicación circular con tres servidores. Dos Maestros con una mezcla de mesas BLACKHOLE y un Esclavo con todas las mesas reales. Esta técnica es anterior a la replicación de múltiples fuentes.

EJEMPLO # 3: Aumente el rendimiento de escritura

Sabía de un cliente de alojamiento web que fue a Percona por problemas de rendimiento en una mesa. Como el cliente tenía la replicación MySQL con múltiples esclavos, Percona convirtió la tabla de problemas a BLACKHOLE. Esto aumentó el rendimiento de escritura en el Master. Los datos tuvieron que ser leídos de los esclavos.

Una vez sugerí esto en una publicación para registrar información de auditoría ( Rendimiento de un desencadenador vs procedimiento almacenado en MySQL )

EPÍLOGO

Si bien algunos de los comentarios me recuerdan a StarTrek DS9, el motor de almacenamiento BLACKHOLE es lo que su nombre dice: ¡ NO SE ALMACENAN DATOS ! Si tuviera habilitados los registros binarios, esa habría sido su única oportunidad de tener datos.


66
¿Desde cuándo los hechos y tecnicismos involucrados en esta pregunta? :)
— Philᵀᴹ

2
¡No es genial que podamos ser expertos en tecnología (o incluso, quizás, nerds), sin ser imbéciles con cabeza de hélice! +1
— Vérace

2
Por supuesto, si se habilita binlogging ... los datos es en realidad todo lo que hay si los registros no han sido purgados, y no es una posibilidad de recuperarla mediante la reproducción desde el punto justo a la derecha en otro sistema.
— Michael - sqlbot
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.