Memulihkan database MySQL dari file

Jadi ini masih melanjutkan kisah saya saat database server MariaDB (atau MySQL atau Percoba, masih mirip) gagal dijalankan beberapa hari lalu. Yang membuat badan panas dingin bukan masalah install ulang stack servernya dari awal, ini sih tinggal mengikuti catatan dan selesai sudah. Yang repot itu memulihkan data – datanya, terutama kalau daemon mysql tidak mau jalan. Jelas tidak mungkin menjalankan backup database dengan mysqldump lah prosesnya sendiri tidak ada yang aktif. 🙁

Apa yang bisa kita lakukan untuk menyelamatkan data – datanya? Ada satu cara dan ini termasuk manual karena kita akan memindahkan file database – bukan .sql atau semacamnya – yang disimpan di direktori data MySQL ke server yang baru atau kosongan. Dimana lokasinya? Biasanya ada di /var/lib/mysql karena ini defaultnya. Kurang lebih isinya akan seperti berikut:

ls /var/lib/mysql
Servernesia.err  aria_log.00000001  ib_logfile0  ibdata1  mysql.sock          servernesia
Servernesia.pid  aria_log_control   ib_logfile1  mysql    performance_schema

Langkah selanjutnya? Silahkan diambil semua file dan folder diatas, mungkin download ke komputer anda dulu dan nanti upload ke lokasi yang sama tapi pada database server yang baru. Ini kondisinya saat database server baru belum aktif prosesnya, jadi matikan dulu kalau sudah terlanjur. Setelahnya akan muncul proses pengecekan database karena file – file diatas tidak tercatat sebelumnya, dan kalau ada kerusakan akan otomatis diperbaiki juga. Baik tipe databasenya MyISAM atau InnoDB.

Seharusnya selain data anda berhasil dipulihkan setelahnya juga username, password dan privilegesnya akan tetap sama dengan asalnya. Jadi tidak perlu mengubah apapun.

Misal databasenya tidak disimpan di lokasi defaultnya maka anda bisa mengeceknya sendiri dengan membaca file my.cnf, cari teks datadir dan nilainya adalah direktori tersimpannya.

11 pemikiran pada “Memulihkan database MySQL dari file

  1. mau nanya, saya mmasih awam dan belajar, cara masuk file ke htdoct itu gimana masalahnya mysqlnya tidak bisa di buka keluar notice “You do not have the permissions necessary to view the contents of “mysql”” kalau di oke kosong, mohon bantuanya ya…

    • Halo mbak Aulia, bisa dijelaskan dulu ini di Windows atau Linux? Menggunakan yang apa ya? Itu pesan errornya karena anda mengaksesnya tanpa hak akses administrator/root.

  2. Kalo database wp langsung copy dari file vps (ekstensi nya .frm dan .ibd ) melalui SFTP apa bisa untuk di restore lagi ke phpmyadmin ?
    Gimana caranya gabungkan file file tersbut menjadi file .sql ?
    – yang bisa saya selamatkan wp-content+config + file dari database dari /var/lib/mysql

    Note VPS eror
    (1. disk full padahal file web sedikit.
    (2. saya lupa pasang ip statis di gcp pas di reboot rubah ip jadi gak bisa masuk ke phpmyadmin / backup db lewat ssh juga gak bisa,
    jadi reinstal lagi
    (3 tadinya saya gunakan serverpilot sekarang gunakan VPSSIM

    Terimakasih

    • Ada file MYI dan MYD tidak mas? Seharusnya ada juga.

      Solusinya sama dengan yang saya bicarakan diatas, silahkan install database server MySQL/MariaDB yang versinya sama dengan yang lama, kemudian copas file – file tersebut ke lokasi yang sama sebelumnya. Kemudian jalankan service databasenya, nanti akan diverifikasi data – datanya, dan kalau berhasil akan muncul.

  3. file myi dan myd tidak ada mas.
    kasus saya kan ada 4 web. yang 2 web berhasil nama database ( nama folder) yang lama cuman dikit sekitar 5 karakter
    nah yang 2 lagi nama database nya panjang, pas saya coba pindahkan, nama database nya kaya terpotong gitu alhasil jadi eror
    pas saya coba create database gak support lebih dari 16 karakter , tapi ini lebih dari 16 karakter mas

    • Boleh dicopaskan secara lengkap perintah yang mas lakukan dan pesan/error yang muncul?

      Ini pakai MariaDB versi berapa mas? Pakai Linux apa?

  4. Hallo bro, mau tanya seputar wordpres, kalo database mysql terhapus tp file wp nya msh ada bisa gx direstore, tp tanpa ada backup database dari mysql nya? Makasih… 🙂

  5. salam mas chandra

    saya mengalami masalah mysql di ubuntu error kemungkinan listrik mati di server, sampai akhirnya sy reinstall itu mysqlnya, sebelumnya saya backup folder databasenya saja
    pas setelah reinstall mysqlnya saya kembalikan folder data basenya ke var/lib/mysql
    permasalhannya : ada beberapa table bisa jalan dan ada beberapa table tidak bisa jalan, saya buka pake phpmyadmin : jendela sebelah kiri nama tablenya muncul semua ( xxx dan yyy), jendela sebelah kanan hanya table (yyy) , pas kita klik yang xxx munculnya : #1146 – table xxx doesn’t exist, di lihat di foldernya yg ada hanya xxx.ibd, yang lain : yyy.YMI, yyy.MYD dan xxx.frm ,
    mohon solusinya untuk bisa kembali normal, atau ada no.telp yg bisa di hubungi, tanks sebelumnya,

    Salam

    Alex Jaya

  6. mas mau nanya ,,setelah saya restart mysql lalu keluar notice seperti ini “Job for nginx.service failed. See ‘systemctl status nginx.service’ and ‘journalctl -xn’ for details.”

    saya masuk ke mysql -u root -p juga tidak bisa malah keluar notice seperti ini “ERROR 2002 (HY000): Can’t connect to local MySQL server through socket ‘/var/run/mysqld/mysqld.sock’ (111 “Connection refused”)”

    ada solusi gak ya mas?
    terimakasih

Tinggalkan komentar