J'avais créé une table avec le moteur BLACKHOLE, le moteur de stockage BLACKHOLE agit comme un «trou noir» qui accepte les données mais les jette et ne les stocke pas. Les récupérations renvoient toujours un résultat vide.
J'ai entendu dire que nous pouvons récupérer les données en créant une nouvelle table identique à l'ancienne table avec un moteur de stockage comme innodb ou myisam. mais je l'avais essayé aussi mais incapable d'obtenir le résultat. Quelqu'un peut-il m'aider à résoudre ce problème?
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)
mysql
mysql-5.5
storage-engine
Karthick
la source
la source
Réponses:
Tu as dit
Celui qui vous a dit cela aurait dû vous dire d'activer les journaux binaires comme l'a commenté @jynus.
Le moteur de stockage BLACKHOLE ne stocke pas du tout de données . Il s'agit d'un moteur de stockage spécial utilisé dans des configurations très méticuleuses.
EXEMPLE # 1: Topologie en étoile
Certains ont des topologies en étoile pour écrire des données dans un maître de réplication MySQL. Le maître n'a que des tables BLACKHOLE. Tous les esclaves ont InnoDB ou MyISAM. De cette façon, si le maître est piraté, il n'y a pas de données locales. Un tel maître est appelé maître de distribution.
Apr 28, 2011
: MySQL en topologie en étoile (ServerFault)Mar 11, 2011
: MySQL en topologie en étoile (StackOverflow)EXEMPLE # 2: esclave unique, plusieurs maîtres
Cela implique la configuration de la réplication circulaire avec trois serveurs. Deux maîtres avec un mélange de tables BLACKHOLE et un esclave avec toutes les vraies tables. Cette technique est antérieure à la réplication multisource.
Apr 18, 2013
: Esclave unique - réplication MySQL à plusieurs maîtresMay 16, 2011
: Est-ce que Multi Master Single Slave est possible dans mySQL DB? (ServerFault)EXEMPLE # 3: Augmentez les performances d'écriture
Je connaissais un client d'hébergement Web qui est allé à Percona pour des problèmes de performance sur une table. Comme le client avait la réplication MySQL avec plusieurs esclaves, Percona a converti la table des problèmes en BLACKHOLE. Cette augmentation des performances d'écriture sur le maître. Les données devaient être lues par les esclaves.
J'ai déjà suggéré cela dans un article pour enregistrer des informations d'audit ( Performances d'un déclencheur vs procédure stockée dans MySQL )
ÉPILOGUE
Alors que certains des commentaires me rappellent StarTrek DS9, le moteur de stockage BLACKHOLE est ce que son nom l'indique: AUCUNE DONNÉE N'EST JAMAIS STOCKÉE !!! Si vous aviez activé les journaux binaires, cela aurait été votre seule chance d'avoir des données.
la source