Saya telah membuat tabel dengan mesin BLACKHOLE pada dasarnya mesin penyimpanan BLACKHOLE bertindak sebagai "lubang hitam" yang menerima data tetapi membuangnya dan tidak menyimpannya. Pengambilan selalu mengembalikan hasil kosong.
Saya mendengar bahwa kami dapat mengambil data dengan membuat tabel baru yang sama dengan tabel lama dengan mesin penyimpanan sebagai innodb atau myisam. tetapi saya telah mencobanya juga tetapi tidak bisa mendapatkan hasilnya. Adakah yang bisa membantu saya tentang masalah ini untuk memperbaikinya.
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
sumber
sumber
Jawaban:
Kamu berkata
Siapa pun yang memberi tahu Anda bahwa seharusnya memberi tahu Anda untuk mengaktifkan log biner seperti yang dikomentari @jynus.
The Blackhole Storage Engine tidak menyimpan data sama sekali . Ini adalah mesin penyimpanan khusus yang digunakan dalam pengaturan yang sangat teliti.
CONTOH # 1: Topologi Bintang
Beberapa memiliki Topologi Star untuk menulis data ke Master Replikasi MySQL. Master tidak memiliki apa-apa selain meja BLACKHOLE. Semua Budak memiliki InnoDB atau MyISAM. Dengan begitu, jika Master diretas, tidak ada data lokal. Master semacam itu dikenal sebagai Master Distribusi.
Apr 28, 2011
: MySQL dalam topologi bintang (ServerFault)Mar 11, 2011
: MySQL dalam topologi bintang (StackOverflow)CONTOH # 2: Budak Tunggal, Banyak Tuan
Ini melibatkan pengaturan Replikasi Sirkular dengan tiga server. Dua Master dengan campuran tabel BLACKHOLE dan seorang Slave dengan semua tabel asli. Teknik ini mendahului replikasi multisource.
Apr 18, 2013
: Budak tunggal - beberapa master replikasi MySQLMay 16, 2011
: Apakah Multi Master Single Slave dimungkinkan di mySQL DB? (ServerFault)CONTOH # 3: Tingkatkan Kinerja Menulis
Saya tahu tentang Klien Web Hosting yang pergi ke Percona untuk masalah kinerja di satu meja. Karena klien memiliki Replika MySQL dengan Beberapa Budak, Percona mengonversi tabel masalah ke BLACKHOLE. Ini meningkatkan kinerja menulis pada Master. Data harus dibaca dari Budak.
Saya pernah menyarankan ini di sebuah pos untuk merekam informasi audit ( Kinerja Pemicu vs Prosedur Tersimpan di MySQL )
EPILOG
Sementara beberapa komentar mengingatkan saya pada StarTrek DS9, BLACKHOLE Storage Engine adalah seperti namanya: TIDAK ADA DATA YANG PERNAH DISIMPAN !!! Jika Anda memiliki log biner diaktifkan, itu akan menjadi satu-satunya kesempatan Anda memiliki data.
sumber