Halaman

20 Maret 2014

Cara Mudah Repair Table Mysql di C#

Jika anda adalah pengguna database MySql, tentu pernah mengalami masalah crash pada table mysql. Tentu hal ini dapat menggangu kinerja dari aplikasi database yang kita buat.  Ada beberapa hal yang dapat menyebabkan kenapa table mysql bisa crash :
1. Host mysql server mati ketika proses update pada table masih terjadi.
2. Listrik server mysql mati
3. index data atau file korup
4. Terjadi gangguan pada hardware server
5. Dan masih banyak lagi.

Bagaimana cara repair table mysql yang crash ?

Repair atau memperbaiki table yang crash di mysql dapat dilakukan dengan menggunakan perintah :
mysql> repair table nama_table;

Lalu bagaimana cara repair table mysql di c#, berikut kode program yang sudah saya coba :

Pertama buat class dengan nama koneksi.cs untuk koneksi ke host mysql, dan tulis kode berikut :

class koneksi
    {
        public MySqlConnection cnn = null;

        public koneksi()
        {
            try
            {
                cnn = new MySqlConnection("server=192.168.0.1;uid=root;pwd=root;database=Dtbase;");
                if (cnn.State.ToString() != "Open")
                {
                    cnn.Open();
                }
            }
            catch (MySqlException ex)
            {
                throw;
            }
        }

        public void Close()
        {
            cnn.Close();
        }
    }

Selanjutnya tulis kode berikut untuk repair atau memperbaiki table mysql yang crash

static void Main(string[] args)
        {
            Console.WriteLine("Repair Tables Mysql");
            Console.WriteLine("Memulai Repair table ? y/n (enter): ");
            String op=Console.ReadLine();
            if (op == "y")
            {
                try
                {
                    koneksi Connection = new koneksi();
                    DataTable datatabel = new DataTable();

                    String query = "show tables in Dtbase";//menampilkan semua table di dalam database
                    MySqlDataAdapter dataAdapter = new MySqlDataAdapter(query, Connection.cnn);
                    dataAdapter.Fill(datatabel);

                    //membuat proses loop untuk repair setiap tabel yang ditampilkan
                    for (int i = 0; i < datatabel.Rows.Count; i++)
                    {
                        Console.WriteLine("tables : {0}", datatabel.Rows[i][0].ToString());
                        koneksi conn = new koneksi();
                        String queryRepair = "repair table " + datatabel.Rows[i][0].ToString() + "";
                        MySqlCommand cmd = new MySqlCommand(queryRepair, conn.cnn);
                        cmd.ExecuteNonQuery();
                        conn.Close();
                        Console.WriteLine("Repair : {0} ......OK ", datatabel.Rows[i][0].ToString());
                    }
                    Connection.Close();
                    Console.WriteLine("::::: Repair sukses :::::");
                }
                catch (MySqlException ex)
                {
                    Console.WriteLine(ex.Message);
                    Console.ReadKey();
                }
            }           
        }

Build program dan Start Debugging program, Selamat mencoba.

Tidak ada komentar:

Posting Komentar