GNU/Linux >> Belajar Linux >  >> Linux

Cara Mengatur Replikasi Master Slave MariaDB di Ubuntu 18.04

MariaDB adalah sistem manajemen basis data relasional sumber terbuka gratis, dan merupakan salah satu opsi paling populer. Replikasi adalah proses menyalin data dari satu server database master ke server database budak lainnya. Dalam topologi master-slave, satu server bertindak sebagai master dan server lain bertindak sebagai budak. Dalam replikasi master-slave, data hanya direplikasi satu arah. Jika Anda mengubah data di server budak, itu tidak akan direplikasi ke server master. Jika server master mati, Anda masih dapat memulihkan data dari server budak.

Anda dapat menggunakan replikasi master-slave MariaDB untuk beberapa tujuan; beberapa di antaranya tercantum di bawah ini:

  • Skalabilitas dan Ketersediaan Tinggi
  • Cadangan
  • Analitik
  • Keseimbangan Beban
  • Meningkatkan Kinerja Basis Data
  • Mengurangi kegagalan
  • Keamanan data

Dalam tutorial ini, kami akan menunjukkan cara mengatur replikasi master-slave MariaDB di server Ubuntu 18.04.

Prasyarat

  • Dua VPS Ubuntu 18.04 baru di Platform Cloud Atlantic.Net.
  • Sandi root statis yang dikonfigurasi di kedua server.

Langkah 1 – Buat Server Cloud Atlantic.Net

Pertama, masuk ke Server Cloud Atlantic.Net Anda. Buat server baru, pilih Ubuntu 18.04 sebagai sistem operasi dengan setidaknya 2GB RAM. Hubungkan ke Server Cloud Anda melalui SSH dan masuk menggunakan kredensial yang disorot di bagian atas halaman.

Setelah Anda masuk ke server Ubuntu 18.04 Anda, jalankan perintah berikut untuk memperbarui sistem dasar Anda dengan paket terbaru yang tersedia.

apt-get update -y

Langkah 2 – Instal MariaDB di Kedua Server

Pertama, Anda perlu menginstal MariaDB di kedua server. Anda dapat menginstalnya dengan menjalankan perintah berikut:

apt-get install mariadb-server mariadb-client -y

Setelah menginstal MariaDB, jalankan perintah berikut untuk mengamankan instalasi MariaDB:

mysql_secure_installation

Jawab semua pertanyaan seperti yang ditunjukkan di bawah ini:

Masukkan kata sandi saat ini untuk root (masukkan untuk tidak ada):Tekan Enter Setel kata sandi root? [Y/n] Y Kata sandi baru:Masukkan kembali kata sandi baru:Hapus pengguna anonim? [Y/n] Y Larang login root dari jarak jauh? [Y/n] Y Hapus database pengujian dan akses ke sana? [Y/n] Y Muat ulang tabel hak istimewa sekarang? [Y/n] Y 

Pada titik ini, Anda telah menginstal dan mengamankan kedua server MariaDB.

Langkah 3 – Konfigurasi Server Master

Selanjutnya, Anda harus mengaktifkan pencatatan dan replikasi biner di server master. Untuk melakukannya, buka file /etc/mysql/mariadb.conf.d/50-server.cnf dengan editor teks pilihan Anda:

nano /etc/mysql/mariadb.conf.d/50-server.cnf

Temukan baris bind-address dan ubah nilainya menjadi 0.0.0.0 untuk mengizinkan koneksi masuk.

bind-address            =0.0.0.0

Selanjutnya, tambahkan baris berikut di akhir file:

server-id =1log_bin =/var/log/mysql/mysql-bin.loglog_bin_index =/var/log/mysql/mysql-bin.log.indexrelay_log =/var/log/mysql/mysql-relay-binrelay_log_index =/var/log/mysql/mysql-relay-bin.index

Simpan dan tutup file setelah Anda selesai. Kemudian, mulai ulang layanan MariaDB untuk menerapkan perubahan:

systemctl restart mariadb

Selanjutnya, Anda perlu membuat pengguna replikasi. Server budak akan menggunakan pengguna ini untuk masuk ke server master dan meminta log biner.

Pertama, masuk ke shell MariaDB dengan perintah berikut:

mysql -u root -p

Berikan kata sandi root Anda saat diminta, lalu buat pengguna dengan perintah berikut:

BUAT 'replikasi'@'%' PENGGUNA yang diidentifikasi dengan 'kata sandi Anda';

Selanjutnya, berikan hak istimewa slave replikasi kepada pengguna ini dengan perintah berikut:

HIBAH REPLICATION SLAVE PADA *.* KE 'replication'@'%';

Selanjutnya, siram hak istimewa dengan perintah berikut:

HAK ISTIMEWA;

Selanjutnya, periksa status server master dengan perintah berikut:

tampilkan status master;

Anda akan mendapatkan output berikut:

+------------------+----------+--------------+- -----------------+| File            | Posisi | Binlog_Do_DB | Binlog_Ignore_DB |+------------------+----------+--------------+-- ----------------+| mysql-bin.000001 | 313 | | |+------------------+----------+--------------+--- ---------------+

Selanjutnya, keluar dari shell MariaDB dengan perintah berikut:

KELUAR;

Catatan :Harap ingat File dan Posisi detail dari output di atas. Anda akan memerlukan nilai-nilai ini saat mengonfigurasi server budak.

Langkah 4 – Konfigurasi Server Budak

Selanjutnya, masuk ke server budak dan buka file /etc/mysql/mariadb.conf.d/50-server.cnf:

nano /etc/mysql/mariadb.conf.d/50-server.cnf

Temukan baris bind-address dan ubah nilainya menjadi 0.0.0.0 seperti yang ditunjukkan di bawah ini:

bind-address            =0.0.0.0

Selanjutnya, tambahkan baris berikut di akhir file:

server-id =2log_bin =/var/log/mysql/mysql-bin.loglog_bin_index =/var/log/mysql/mysql-bin.log.indexrelay_log =/var/log/mysql/mysql-relay-binrelay_log_index =/var/log/mysql/mysql-relay-bin.index

Simpan dan tutup file setelah Anda selesai. Kemudian, mulai ulang layanan MariaDB untuk menerapkan perubahan:

systemctl restart mariadb

Selanjutnya, masuk ke shell MariaDB dengan perintah berikut:

mysql -u root -p

Berikan kata sandi root Anda saat diminta, lalu hentikan utas budak seperti yang ditunjukkan di bawah ini:

hentikan budak;

Selanjutnya, jalankan perintah berikut untuk mengatur budak untuk mereplikasi master:

CHANGE MASTER TO MASTER_HOST ='your-master-host-ip', MASTER_USER ='replication', MASTER_PASSWORD ='your-password', MASTER_LOG_FILE ='mysql-bin.000001', MASTER_LOG_POS =313;

Selanjutnya, mulai utas budak dan keluar dari shell MariaDB seperti yang ditunjukkan di bawah ini:

mulai budak;keluar;

Catatan :Ubah perintah di atas untuk menggunakan alamat IP host master Anda dan kata sandi yang Anda buat di langkah sebelumnya. Silakan gunakan nama file log dan nilai posisi yang Anda peroleh dari server master.

Langkah 5 – Uji Replikasi Basis Data

Pada titik ini, Anda telah mengonfigurasi replikasi master-slave. Sekarang, saatnya untuk menguji replikasi antara master ke slave.

Di server master, masuk ke shell MariaDB dengan perintah berikut:

mysql -u root -p

Berikan kata sandi root Anda saat diminta, lalu buat database dengan nama mydb seperti yang ditunjukkan di bawah ini:

buat database mydb;

Selanjutnya, buat tabel dengan nama “produk” di dalam database mydb:

gunakan mydb;CREATE TABLE products(product_id INT NOT NULL AUTO_INCREMENT,product_name VARCHAR(100) NOT NULL,product_manufacturer VARCHAR(40) NOT NULL,submission_date DATE,PRIMARY KEY ( product_id ));

Selanjutnya, jalankan perintah berikut untuk memeriksa tabel:

TAMPILKAN TABEL;

Keluaran:

+----------------+| Tables_in_mydb |+----------------+| produk       |+----------------+

Di server budak, masuk ke shell MariaDB dengan perintah berikut:

mysql -u root -p

Berikan kata sandi root Anda saat diminta kemudian periksa status budak:

TAMPILKAN STATUS BUDAK \G

Anda akan melihat output berikut:

*************************** 1. baris ***************** ********** slave_io_state:menunggu master untuk mengirim acara master_host:Anda-master-host-ip master_user:replikasi master_port:3306 connect_retry:60 master_log_file:mysql-bin.000001 read_master_log_pos:721 Relay_log_file:Mysql- relay-bin.000002               Relay_Log_Pos:945        Relay_Master_Log_File:mysql-bin.000001           Slave_IO_Running:Ya           Slave YaRunning:

Selanjutnya, jalankan perintah berikut untuk memeriksa apakah database direplikasi:

tampilkan database;

Anda akan melihat database mydb yang Anda buat di server master:

+--------------------+| Basis data           |+--------------------+| informasi_skema || mydb              || mysql             || performance_schema |+--------------------+

Selanjutnya, periksa tabel produk yang Anda buat di server master:

MariaDB [(none)]> gunakan mydb;MariaDB [mydb]> tampilkan tabel;

Anda akan melihat tabel produk di output berikut:

+----------------+| Tables_in_mydb |+----------------+| produk       |+----------------+

Selamat! Replikasi master-slave MariaDB Anda berfungsi seperti yang diharapkan. Anda sekarang dapat dengan mudah memulihkan database Anda jika terjadi kegagalan. Mulai replikasi master-slave MariaDB hari ini dengan paket VPS Hosting dari Atlantic.Net.


Linux
  1. Cara Mengatur Server Rsyslog di Ubuntu 18.04 LTS

  2. Cara Mengatur Cluster MariaDB Galera di Ubuntu 20.04

  3. Cara Menginstal MariaDB di Ubuntu 22.04

  1. Cara Mengatur Replikasi Master Slave MySQL

  2. Cara mengatur server OpenVPN di Ubuntu 20.04

  3. Setup Rsyslog Server di Ubuntu 20.04 - Bagaimana cara melakukannya?

  1. Cara Menginstal MariaDB di Ubuntu 20.04

  2. Cara Mengatur Jenkins Master dan Slave di Ubuntu 18.04 LTS

  3. Cara Mengatur Replikasi Cassandra di Ubuntu 16.04