Cara menggunakan mysql digitalocean terus macet

Untuk membangun cluster MariaDB/MySQL kita bisa menggunakan Galera, Galera sudah termasuk dalam paket instalasi MariaDB di Ubuntu 20. 04 sehingga tidak perlu menginstal paket tambahan. Beberapa fitur klaster Galera

– True Multi-master, Active-Active Cluster Baca dan tulis ke node mana saja kapan saja
– Replikasi Sinkron Tidak ada slave lag, tidak ada data yang hilang saat node crash
– Tightly Coupled Semua node memiliki status yang sama. Tidak ada data yang menyimpang antar node yang diizinkan
– Multi-threaded Slave Untuk kinerja yang lebih baik. Untuk beban kerja apa pun
– Tidak Ada Operasi Failover Master-Budak atau Penggunaan VIP
– Hot Standby Tidak ada downtime selama failover [karena tidak ada failover]
– Penyedia Node Otomatis Tidak perlu mencadangkan database secara manual dan menyalinnya ke node baru
– Mendukung InnoDB
- Transparan untuk Aplikasi Tidak ada [atau perubahan minimal] yang diperlukan untuk aplikasi
- Tidak Perlu Pemisahan Baca dan Tulis
- Mudah Digunakan dan Diterapkan

Server yang akan digunakan

192.168.148.11  DB-HAPROXY
192.168.163.201 DB-CLUSTER-1
192.168.164.27  DB-CLUSTER-2
192.168.148.92  DB-CLUSTER-3

Perbarui Sistem

Perbarui sistem Anda ke pembaruan terbaru yang tersedia, jalankan di semua server

apt update; apt upgrade -y
_

Pengaturan Nama Host Server

Agar setiap server mudah dikenali, atur hostname masing-masing server

# server HaProxy
hostnamectl set-hostname --static DB-HAPROXY
# server 1
hostnamectl set-hostname --static DB-CLUSTER-1
# server 2
hostnamectl set-hostname --static DB-CLUSTER-2
# server 3
hostnamectl set-hostname --static DB-CLUSTER-3

secara keseluruhan jalankan perintah ini untuk menambahkan pemetaan IP ke nama host

echo '192.168.148.11  DB-HAPROXY
192.168.163.201 DB-CLUSTER-1
192.168.164.27  DB-CLUSTER-2
192.168.148.92  DB-CLUSTER-3' >> /etc/hosts

matikan layanan apparmor

systemctl stop apparmor
systemctl disable apparmor
_

ubah file izin

echo '192.168.148.11  DB-HAPROXY
192.168.163.201 DB-CLUSTER-1
192.168.164.27  DB-CLUSTER-2
192.168.148.92  DB-CLUSTER-3' >> /etc/hosts
_2 sehingga dapat ditulis oleh MariaDB

chmod 777 /tmp
_

Instal Server MariaDB

Pada ketiga server tersebut jalankan perintah berikut untuk menginstal MySQL/MariaDB 10. 3

apt install mariadb-server -y

di Ubuntu service MariaDB sudah otomatis dijalankan, karena kita masih membutuhkannya untuk konfigurasi, matikan dulu servicenya

systemctl stop mariadb
_

Untuk konfigurasi cluster berikut cocokkan alamat IP dengan database IP Server yang anda miliki

Server Basis Data 1. DB-CLUSTER-1

Konfigurasi cluster Galera akan disimpan di

echo '192.168.148.11  DB-HAPROXY
192.168.163.201 DB-CLUSTER-1
192.168.164.27  DB-CLUSTER-2
192.168.148.92  DB-CLUSTER-3' >> /etc/hosts
3, buat file dan isi dengan

[mysqld]
binlog_format=ROW
default-storage-engine=innodb
innodb_autoinc_lock_mode=2
bind-address=192.168.163.201
 
# Galera Provider Configuration
wsrep_on=ON
wsrep_provider=/usr/lib/galera/libgalera_smm.so
 
wsrep_cluster_name="dbcluster"
wsrep_cluster_address="gcomm://192.168.163.201,192.168.164.27,192.168.148.92"
 
wsrep_sst_method=rsync
 
wsrep_node_address="192.168.163.201"
wsrep_node_name="DB-CLUSTER-1"

untuk pengikatan alamat IP kami menetapkannya di

echo '192.168.148.11  DB-HAPROXY
192.168.163.201 DB-CLUSTER-1
192.168.164.27  DB-CLUSTER-2
192.168.148.92  DB-CLUSTER-3' >> /etc/hosts
4, jadi ikat di
echo '192.168.148.11  DB-HAPROXY
192.168.163.201 DB-CLUSTER-1
192.168.164.27  DB-CLUSTER-2
192.168.148.92  DB-CLUSTER-3' >> /etc/hosts
5 dinonaktifkan

sed -i 's/bind-address/#bind-address/g'  /etc/mysql/mariadb.conf.d/50-server.cnf

Cluster database ini akan dijalankan dari DB-CLUSTER-1 dengan perintah

echo '192.168.148.11  DB-HAPROXY
192.168.163.201 DB-CLUSTER-1
192.168.164.27  DB-CLUSTER-2
192.168.148.92  DB-CLUSTER-3' >> /etc/hosts
6. Setelah menjalankan perintah, periksa status cluster Anda

apt update; apt upgrade -y
_0

hasil

apt update; apt upgrade -y
_1

karena kita baru menjalankan 1 cluster server, jadi hanya 1 yang muncul di ukuran cluster

Buat pengguna

echo '192.168.148.11  DB-HAPROXY
192.168.163.201 DB-CLUSTER-1
192.168.164.27  DB-CLUSTER-2
192.168.148.92  DB-CLUSTER-3' >> /etc/hosts
_7, pengguna ini akan dibuat untuk memeriksa status database

apt update; apt upgrade -y
_2

ganti

echo '192.168.148.11  DB-HAPROXY
192.168.163.201 DB-CLUSTER-1
192.168.164.27  DB-CLUSTER-2
192.168.148.92  DB-CLUSTER-3' >> /etc/hosts
_8 dengan IP HaProxy

Server basis data 2. DB-CLUSTER-2

Konfigurasi cluster Galera akan disimpan di

echo '192.168.148.11  DB-HAPROXY
192.168.163.201 DB-CLUSTER-1
192.168.164.27  DB-CLUSTER-2
192.168.148.92  DB-CLUSTER-3' >> /etc/hosts
3, buat file dan isi dengan

apt update; apt upgrade -y
_3

untuk pengikatan alamat IP kami menetapkannya di

echo '192.168.148.11  DB-HAPROXY
192.168.163.201 DB-CLUSTER-1
192.168.164.27  DB-CLUSTER-2
192.168.148.92  DB-CLUSTER-3' >> /etc/hosts
4, jadi ikat di
echo '192.168.148.11  DB-HAPROXY
192.168.163.201 DB-CLUSTER-1
192.168.164.27  DB-CLUSTER-2
192.168.148.92  DB-CLUSTER-3' >> /etc/hosts
5 dinonaktifkan

sed -i 's/bind-address/#bind-address/g'  /etc/mysql/mariadb.conf.d/50-server.cnf

Jalankan layanan mariadb

apt update; apt upgrade -y
_5

Setelah menjalankan perintah, periksa status cluster Anda

apt update; apt upgrade -y
_0

hasil

apt update; apt upgrade -y
_7

sekarang ukuran cluster tampaknya menjadi 2

Server basis data3. DB-CLUSTER-3

Konfigurasi cluster Galera akan disimpan di

echo '192.168.148.11  DB-HAPROXY
192.168.163.201 DB-CLUSTER-1
192.168.164.27  DB-CLUSTER-2
192.168.148.92  DB-CLUSTER-3' >> /etc/hosts
3, buat file dan isi dengan

apt update; apt upgrade -y
_8

untuk pengikatan alamat IP kami menetapkannya di

echo '192.168.148.11  DB-HAPROXY
192.168.163.201 DB-CLUSTER-1
192.168.164.27  DB-CLUSTER-2
192.168.148.92  DB-CLUSTER-3' >> /etc/hosts
4, jadi ikat di
echo '192.168.148.11  DB-HAPROXY
192.168.163.201 DB-CLUSTER-1
192.168.164.27  DB-CLUSTER-2
192.168.148.92  DB-CLUSTER-3' >> /etc/hosts
5 dinonaktifkan

sed -i 's/bind-address/#bind-address/g'  /etc/mysql/mariadb.conf.d/50-server.cnf

Jalankan layanan mariadb

apt update; apt upgrade -y
_5

Setelah menjalankan perintah, periksa status cluster Anda

apt update; apt upgrade -y
_0

hasil

# server HaProxy
hostnamectl set-hostname --static DB-HAPROXY
# server 1
hostnamectl set-hostname --static DB-CLUSTER-1
# server 2
hostnamectl set-hostname --static DB-CLUSTER-2
# server 3
hostnamectl set-hostname --static DB-CLUSTER-3
2

ukuran cluster menjadi 3, sesuai dengan jumlah server yang kami alokasikan

Menguji Kluster Kueri

Untuk memeriksa apakah cluster kami dapat menyinkronkan data satu sama lain, buat database baru untuk pengujian. Masuk ke mysql/mariadb di CLUSTER-DB-1

# server HaProxy
hostnamectl set-hostname --static DB-HAPROXY
# server 1
hostnamectl set-hostname --static DB-CLUSTER-1
# server 2
hostnamectl set-hostname --static DB-CLUSTER-2
# server 3
hostnamectl set-hostname --static DB-CLUSTER-3
_3

lalu jalankan kueri di bawah ini

# server HaProxy
hostnamectl set-hostname --static DB-HAPROXY
# server 1
hostnamectl set-hostname --static DB-CLUSTER-1
# server 2
hostnamectl set-hostname --static DB-CLUSTER-2
# server 3
hostnamectl set-hostname --static DB-CLUSTER-3
_4

dari ketiga server periksa hasil kueri pengguna

# server HaProxy
hostnamectl set-hostname --static DB-HAPROXY
# server 1
hostnamectl set-hostname --static DB-CLUSTER-1
# server 2
hostnamectl set-hostname --static DB-CLUSTER-2
# server 3
hostnamectl set-hostname --static DB-CLUSTER-3
5

hasil kueri di atas

# server HaProxy
hostnamectl set-hostname --static DB-HAPROXY
# server 1
hostnamectl set-hostname --static DB-CLUSTER-1
# server 2
hostnamectl set-hostname --static DB-CLUSTER-2
# server 3
hostnamectl set-hostname --static DB-CLUSTER-3
6

Kluster HaProxy Galera

Sampai saat ini kami belum bisa membagi akses secara merata ke database cluster yang telah kami buat, untuk itu kami akan menggunakan HaProxy sebagai load balancer

Instal HaProxy

# server HaProxy
hostnamectl set-hostname --static DB-HAPROXY
# server 1
hostnamectl set-hostname --static DB-CLUSTER-1
# server 2
hostnamectl set-hostname --static DB-CLUSTER-2
# server 3
hostnamectl set-hostname --static DB-CLUSTER-3
7

Dalam konfigurasi HaProxy

systemctl stop apparmor
systemctl disable apparmor
_5 tambahkan di bagian bawah

# server HaProxy
hostnamectl set-hostname --static DB-HAPROXY
# server 1
hostnamectl set-hostname --static DB-CLUSTER-1
# server 2
hostnamectl set-hostname --static DB-CLUSTER-2
# server 3
hostnamectl set-hostname --static DB-CLUSTER-3
_8

dengarkan statistik untuk melihat status Haproxy


echo '192.168.148.11  DB-HAPROXY
192.168.163.201 DB-CLUSTER-1
192.168.164.27  DB-CLUSTER-2
192.168.148.92  DB-CLUSTER-3' >> /etc/hosts
8 ganti dengan HaProxy IP

aktifkan haproxy saat boot

# server HaProxy
hostnamectl set-hostname --static DB-HAPROXY
# server 1
hostnamectl set-hostname --static DB-CLUSTER-1
# server 2
hostnamectl set-hostname --static DB-CLUSTER-2
# server 3
hostnamectl set-hostname --static DB-CLUSTER-3
_9

jalankan layanan haproxy

echo '192.168.148.11  DB-HAPROXY
192.168.163.201 DB-CLUSTER-1
192.168.164.27  DB-CLUSTER-2
192.168.148.92  DB-CLUSTER-3' >> /etc/hosts
0

saat Anda membuat pengguna baru di cluster mariadb, tambahkan IP HaProxy untuk nama host, misalnya

echo '192.168.148.11  DB-HAPROXY
192.168.163.201 DB-CLUSTER-1
192.168.164.27  DB-CLUSTER-2
192.168.148.92  DB-CLUSTER-3' >> /etc/hosts
1

jadi nantinya aplikasi akan mengakses database melalui Haproxy

Artikel menarik lainnya

  • Instal dan Konfigurasi MariaDB Galera Cluster di Debian 10

    Ketika website/aplikasi Anda semakin populer, kebutuhan akan database juga semakin meningkat. Selain peningkatan perangkat keras dari database alternatif MySQL...

  • Instal dan Konfigurasikan Deluge Torrent di Fedora

    Instal deluge su -c "dnf install deluge deluge-daemon deluge-web deluge-gtk" dari konsol, aktifkan akses jarak jauh...

  • Instal nginx HHVM MariaDB WordPress di Debian 8 Jessie

    Sebelum menginstal apa pun di Debian, Anda harus memperbarui dan memutakhirkan sistem Anda terlebih dahulu. apt-get…

Bài mới nhất

Chủ Đề