Cara restart otomatis MariaDB

Sebelum saya lupa solusinya dan ini masih berhubungan dengan VPS saya sebelumnya yang tiba – tiba mati database servernya. Jadi pada VPS tersebut saya pasang MariaDB 10.1 sebenarnya dan solusi yang saya terapkan berdasarkan MySQL server. Tapi setelah beberapa hari melakukan riset lebih jauh ternyata kurang elegan kalau lewat cron karena ada cara yang lebih mudah dan memang ikut sistemnya.

Tapi saya ingatkan dulu, solusi ini hanya berlaku kalau anda menggunakan distro Linux yang memakai systemd. Seperti Debian 7 dan 8, CentOS 7 dan mungkin lainnya.

Langsung saja edit file dibawah:

nano /etc/systemd/system/multi-user.target.wants/mariadb.service

Kemudian cari:

# Restart crashed server only, on-failure would also restart, for example, when
# my.cnf contains unknown option
Restart=always
RestartSec=5s

Kemudian pastikan konfigurasinya diterapkan dengan reload systemd

systemctl daemon-reload

Intinya ubah nilai Restart dari on-abort menjadi always. Inilah yang akan membuat MariaDB setiap kali crash akan otomatis direstart servicenya. Dan solusi yang sama bisa diterapkan pada MySQL.

Yah… memang banyak jalan menuju Roma, belajar hal baru lagi dan ini agak membuat kacau dokumentasi/posting blog saya akhirnya. Haha. 😀

12 Comments

  1. gan, ane pake centos tp kenapa tidak ada perintah restart ya, apakah bisa ditulis langsung saja?

    Karena entah mengapa mariaDB saya sering crash sendiri, ada cara lain kah?

  2. met Sore mas, saya debian 8 Mariadb 10, nggak ketemu filenya di /etc/systemd/system/multi-user.target.wants/mariadb.service

    Saya coba find juga nggak ketemu. Apa Bisa saya create aja?

    Terima Kasih Sarannya Mas

  3. Saya Menggunakan EASYENGINE v4.
    Pake Linux Debian 8 dan maria DB 10.

    Ketika saya cari di /etc/systemd/system/multi-user.target.wants/mariadb.service
    nggak ketemu filenya, saya carif pake find juga nggak ketemu. Apa bisa di create aja mas??

    Terima Kasih infonya mas.

    1. Ini dari pengalaman pribadi mas. Kalo pas load tinggi bisa kena kill, dan celakanya ya website jadi ga bisa diakses.

      Solusinya karena ini jarang terjadi, ya saya restart saja servicenya.

  4. bang dalam 1 hari ini udah beberapa kali web ku (aplikasi web base) gak bisa diakses, selalu minta restart mariadb..
    kira2 kenapa ya

    1. Penyebab paling umum karena kehabisan memori mas.

      Solusinya paling gampang upgrade VPS. Pakai Object Cache (Memcached/Redis) misal ini website, agar tidak sering-sering query database.

  5. Server kami kenapa ya mas, mysql sering mati dalam waktu jangka 2 menit keatas, jadi hari di service start lagi mysqlnya, resource ram mash banyak. jadi masalahnya dimana ya mas. Studi kasus ubuntu server mariadb

    ini hasil log error

    2021-02-04  2:48:32 0 [Note] InnoDB: Using Linux native AIO
    2021-02-04  2:48:32 0 [Note] InnoDB: Mutexes and rw_locks use GCC atomic builtins
    2021-02-04  2:48:32 0 [Note] InnoDB: Uses event mutexes
    2021-02-04  2:48:32 0 [Note] InnoDB: Compressed tables use zlib 1.2.11
    2021-02-04  2:48:32 0 [Note] InnoDB: Number of pools: 1
    2021-02-04  2:48:32 0 [Note] InnoDB: Using SSE2 crc32 instructions
    2021-02-04  2:48:32 0 [Note] InnoDB: Initializing buffer pool, total size = 128M, instances = 1, chunk size = 128M
    2021-02-04  2:48:32 0 [Note] InnoDB: Completed initialization of buffer pool
    2021-02-04  2:48:32 0 [Note] InnoDB: If the mysqld execution user is authorized, page cleaner thread priority can be changed. See the man page of setpriority().
    2021-02-04  2:48:32 0 [Note] InnoDB: 128 out of 128 rollback segments are active.
    2021-02-04  2:48:32 0 [Note] InnoDB: Creating shared tablespace for temporary tables
    2021-02-04  2:48:32 0 [Note] InnoDB: Setting file './ibtmp1' size to 12 MB. Physically writing the file full; Please wait ...
    2021-02-04  2:48:32 0 [Note] InnoDB: File './ibtmp1' size is now 12 MB.
    2021-02-04  2:48:32 0 [Note] InnoDB: 10.3.25 started; log sequence number 3178641; transaction id 2000
    2021-02-04  2:48:32 0 [Note] InnoDB: Loading buffer pool(s) from /var/lib/mysql/ib_buffer_pool
    2021-02-04  2:48:32 0 [Note] Plugin 'FEEDBACK' is disabled.
    2021-02-04  2:48:32 0 [Note] Server socket created on IP: '127.0.0.1'.
    2021-02-04  2:48:32 0 [Note] InnoDB: Buffer pool(s) load completed at 210204  2:48:32
    2021-02-04  2:48:32 0 [Note] Reading of all Master_info entries succeeded
    2021-02-04  2:48:32 0 [Note] Added new Master_info '' to hash table
    2021-02-04  2:48:32 0 [Note] /usr/sbin/mysqld: ready for connections.
    Version: '10.3.25-MariaDB-0ubuntu0.20.04.1'  socket: '/run/mysqld/mysqld.sock'  port: 3306  Ubuntu 20.04
    2021-02-04  3:03:32 0 [Note] /usr/sbin/mysqld (initiated by: unknown): Normal shutdown
    2021-02-04  3:03:32 0 [Note] Event Scheduler: Purging the queue. 0 events
    2021-02-04  3:03:32 0 [Note] InnoDB: FTS optimize thread exiting.
    2021-02-04  3:03:32 0 [Note] InnoDB: Starting shutdown...
    2021-02-04  3:03:32 0 [Note] InnoDB: Dumping buffer pool(s) to /var/lib/mysql/ib_buffer_pool
    2021-02-04  3:03:32 0 [Note] InnoDB: Buffer pool(s) dump completed at 210204  3:03:32
    2021-02-04  3:03:34 0 [Note] InnoDB: Shutdown completed; log sequence number 3220330; transaction id 2185
    2021-02-04  3:03:34 0 [Note] InnoDB: Removed temporary tablespace data file: "ibtmp1"
    2021-02-04  3:03:34 0 [Note] /usr/sbin/mysqld: Shutdown complete
  6. Mas, kalo untuk pengguna cyberpanel kan ada menu untuk restart service mariadb.

    Nah kalo nerapin panduan diatas => Restart=always , apa saya udah gak perlu melakukan restart service mariadb secara manual kalo terdapat load tinggi lagi?

Tinggalkan Balasan

Alamat email Anda tidak akan dipublikasikan. Ruas yang wajib ditandai *