Backup database lalu jadikan general_ci lalu restore
Bisa banget, Guru Duan 👍
Backup .sql.gz itu cuma teks biasa yang dikompres, jadi kita bisa:
-
Duplikat file backup (biar yang asli aman).
-
Ekstrak
.gz→ jadi.sql. -
Ganti semua
utf8mb4_unicode_ci→utf8mb4_general_cipakaised. -
Nanti kalau mau restore, pakai file hasil edit itu.
Aku tuliskan langkahnya lengkap ya.
1. Pastikan file backup ada
sudo ls -lh /root/moodle_backup_cbt_2025-11-20.sql.gz
Kalau kelihatan, lanjut.
2. Duplikat backup dulu (jangan utak-atik yang asli)
sudo cp /root/moodle_backup_cbt_2025-11-20.sql.gz \
/root/moodle_backup_cbt_2025-11-20_general.sql.gz
Jadi nanti yang kita ubah cuma versi _general.sql.gz.
3. Ekstrak (gunzip) versi general
sudo gunzip /root/moodle_backup_cbt_2025-11-20_general.sql.gz
Setelah ini akan muncul file:
sudo ls -lh /root/moodle_backup_cbt_2025-11-20_general.sql
4. Cek dulu collate apa saja yang ada
sudo grep -iE "unicode_ci|general_ci" /root/moodle_backup_cbt_2025-11-20_general.sql | head -20
Harusnya kelihatan banyak utf8mb4_unicode_ci.
5. Ganti semua utf8mb4_unicode_ci → utf8mb4_general_ci
sudo sed -i 's/utf8mb4_unicode_ci/utf8mb4_general_ci/g' \
/root/moodle_backup_cbt_2025-11-20_general.sql
Kalau mau sekalian jaga-jaga ada yang tanpa mb4 (jarang, tapi boleh):
sudo sed -i 's/utf8_unicode_ci/utf8_general_ci/g' \
/root/moodle_backup_cbt_2025-11-20_general.sql
Lalu cek lagi:
sudo grep -iE "unicode_ci|general_ci" /root/moodle_backup_cbt_2025-11-20_general.sql | head -20
Sekarang seharusnya hanya ada utf8mb4_general_ci (dan/atau utf8_general_ci kalau tadi ada).
6. (Opsional) Kompres lagi biar hemat
sudo gzip /root/moodle_backup_cbt_2025-11-20_general.sql
Jadi file final cadangan Anda:
/root/moodle_backup_cbt_2025-11-20_general.sql.gz
Ini adalah backup CBT versi general_ci.
7. Kalau nanti mau restore ke DB general_ci
Urutan aman:
# 1. Drop & buat DB baru dengan general_ci
sudo mysql -e "DROP DATABASE IF EXISTS moodle;
CREATE DATABASE moodle DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;"
# 2. Ekstrak dulu file general
sudo gunzip /root/moodle_backup_cbt_2025-11-20_general.sql.gz # kalau belum diekstrak
# 3. Restore (ingat pakai sudo mysql, tanpa -p root)
sudo mysql moodle < /root/moodle_backup_cbt_2025-11-20_general.sql
Setelah itu tinggal:
sudo -u www-data php /var/www/html/moodle/admin/cli/purge_caches.php
sudo -u www-data php /var/www/html/moodle/admin/cli/cron.php
Kalau Guru Duan mau, saya bisa bantu cek lagi: setelah nanti restore pakai backup general_ci ini, kita cek dengan query information_schema.COLUMNS apakah masih ada sisa unicode_ci atau sudah semuanya general_ci.
0 comments:
Post a Comment