Mysql
 sql >> Teknologi Basis Data >  >> RDS >> Mysql

Periksa dan Optimalkan Database MySQL Secara Otomatis dengan Crontab/Cron

MySQL adalah sistem database gratis namun kuat yang sangat populer. Tetapi bahkan dalam database yang hebat, tabel mungkin terfragmentasi dengan overhead karena pembaruan terus-menerus, atau operasi penghapusan dan penyisipan pada data yang disimpan dalam database. Selain itu, kemungkinan juga database rusak. Dengan demikian, melakukan pemeriksaan kesehatan pada database dan mengoptimalkan server MySQL secara teratur adalah tugas penting.

Agak repot jika administrator database harus login ke server atau meluncurkan phpMyAdmin untuk mengoptimalkan database satu per satu atau tabel per tabel secara manual. Terkadang admin DB mungkin lupa melakukan pekerjaan atau mengatur frekuensi pengoptimalan ke waktu yang lebih singkat. Sebaiknya setiap tabel di database MySQL diperiksa setidaknya sekali sehari di server yang sibuk.

Pengoptimalan proses MySQL dapat dilakukan secara otomatis dengan menggunakan fungsi crontab di Linux/Unix/CentOS/FreeBSD. Pekerjaan cron untuk memeriksa dan mengoptimalkan database MySQL dapat dibuat dengan menggunakan utilitas klien mysqlcheck datang instalasi MySQL. klien mysqlcheck dapat memeriksa, memperbaiki, mengoptimalkan, dan menganalisis tabel di database MySQL.

Untuk membuat tugas cron baru, login ke server sebagai root atau pengguna lain, lalu edit file crontab (di sebagian besar sistem operasi, crontab -e akan membuka file crontab di editor teks default) untuk menambahkan baris teks berikut. Untuk pengguna yang menggunakan cPanel, klik "Cron job" di mana Anda dapat mengatur crontab pada interval harian, per jam, dan lainnya. Webmaster pengalaman juga dapat mengatur file crontab di rc.hourly atau rc.daily atau direktori cron lainnya. Perhatikan bahwa jika Anda login sebagai MySQL atau pengguna biasa tanpa hak akses ke semua database, tidak mungkin untuk mengoptimalkan semua database, kecuali ID pengguna dan kata sandi untuk root ditentukan seperti pada contoh di bawah ini.

0 1 * * * mysqlcheck -Aao --auto-repair -u root -p[password] > /dev/null

Pernyataan di atas memiliki sintaks yang mirip dengan “mysqlcheck [options] –all-databases”, di mana parameter –all-databases adalah tindakan default adalah tidak ada database yang ditentukan sehingga dapat dihilangkan. Perintah akan menjalankan klien mysqlcheck untuk secara otomatis menganalisis dan mengoptimalkan semua database pada jam 1 pagi setiap hari. Perhatikan bahwa tidak ada spasi antara -p dan kata sandi Anda untuk root. Anda dapat mengubah waktu berjalan sesuai keinginan Anda, dan juga mengubah opsi untuk perintah mysqlcheck. Jika Anda hanya ingin memeriksa dan mengoptimalkan database tertentu atau tabel tertentu tanpa database, gunakan sintaks berikut:

mysqlcheck [options] db_name [tables]
mysqlcheck [options] --databases DB1 [DB2 DB3...]

Anda mungkin ingin menghapus sakelar –perbaikan otomatis dari perintah di atas, karena operasi perbaikan tabel dapat menyebabkan kehilangan data dalam beberapa keadaan operasi karena penyebab termasuk tetapi tidak terbatas pada kesalahan sistem file. Bagi mereka yang telah mengubah set karakter dan susunan database MySQL mungkin juga perlu menggunakan opsi –default-character-set. Informasi lebih lanjut tentang semua sakelar yang tersedia dan opsi yang tersedia dapat ditemukan di sini.


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Cara Memuat Konfigurasi JDBC Dari Contoh File Properties

  2. Bagaimana cara menjalankan dua kueri mysql sebagai satu di PHP/MYSQL?

  3. Backup Database Logis Menggunakan MySQL Shell

  4. Menyetel ulang kata sandi ROOT di MySQL 5.6

  5. Hubungan antara katalog, skema, pengguna, dan database instance