Saturday 29 October 2016

Backup & Restore MySQL

Tips & Trick 


Pada versi MySQL terbaru, character set default yang digunakan adalah utf8mb4, agar compatible direstore ke MySQL versi lawas, kita harus mengubahnya menjadi utf8.

sed 's/utf8mb4_unicode_520_ci/utf8_unicode_ci/g' original-mysql-data.sql > updated-mysql-data.sql sed 's/utf8mb4/utf8/g' original-mysql-data.sql > updated-mysql-data.sql


Restore Backup yang Memiliki Kolom dengan Tipe GENERATED ALWAYS AS

Error ini terjadi jika kita merestore backup dari MariaDB ke MySQL, solusi pragmatisnya adalah dengan mengubah tipe kolom nya : 

sed  's/GENERATED ALWAYS AS .* VIRTUAL/NOT NULL/' backup.sql > backup_new.sql  

Hapus kolom yg kita ubah sementara tadi, lalu regenerate kembali : 

alter table tbl_penjualan drop column cnofaktur_tanpa_jenisbayar ;

alter table tbl_penjualan add column  `cnofaktur_tanpa_jenisbayar` varchar(14) GENERATED ALWAYS AS (concat(left(`cnofaktur`,3),right(`cnofaktur`,octet_length(`cnofaktur`) - 4))) VIRTUAL;

Referensi

  1. Continuous MySQL backup validation: Restoring backups, https://code.facebook.com/posts/1007323976059780/continuous-mysql-backup-validation-restoring-backups

No comments:

Post a Comment