Android

Bagaimana untuk mengkonfigurasi tuan mysql

Replikasi Database MariaDB Master Slave di Ubuntu 18.04

Replikasi Database MariaDB Master Slave di Ubuntu 18.04

Isi kandungan:

Anonim

Replikasi MySQL adalah proses yang membolehkan data dari satu pelayan pangkalan data disalin secara automatik ke satu atau lebih pelayan.

MySQL menyokong beberapa topologi replikasi dengan topologi Master / Slave menjadi salah satu topologi paling terkenal di mana satu pelayan pangkalan data bertindak sebagai tuan, sementara satu atau lebih pelayan bertindak sebagai budak. Secara lalai, replikasi itu tidak segerak di mana tuan menghantar peristiwa yang menggambarkan pengubahsuaian pangkalan data kepada log binari dan hamba meminta peristiwa apabila mereka siap.

Tutorial ini merangkumi contoh asas replikasi Master / Slave MySQL dengan satu tuan dan satu pelayan pelayan pada Ubuntu 18.04. Langkah yang sama berlaku untuk MariaDB.

Topologi replikasi jenis ini paling sesuai untuk menyebarkan replika baca untuk penskalaan membaca, sandaran pangkalan data untuk pemulihan bencana dan untuk pekerjaan analisis.

Prasyarat

Contoh ini menganggap anda mempunyai dua pelayan yang menjalankan Ubuntu 18.04, yang boleh berkomunikasi antara satu sama lain melalui rangkaian persendirian. Jika pembekal hosting anda tidak menawarkan alamat IP peribadi, anda boleh menggunakan alamat IP awam dan mengkonfigurasi firewall anda untuk membenarkan trafik pada port 3306 hanya dari sumber yang dipercayai.

Pelayan dalam contoh ini mempunyai IP berikut:

Master IP: 192.168.121.190 Slave IP: 192.168.121.236

Pasang MySQL

Lalai repositori Ubuntu 18.04 termasuk versi MySQL 5.7. Untuk mengelakkan sebarang masalah, lebih baik memasang versi MySQL yang sama pada kedua-dua pelayan.

Pasang MySQL pada pelayan Master:

sudo apt-get update sudo apt-get install mysql-server

Pasang MySQL pada pelayan Hamba menggunakan perintah yang sama:

sudo apt-get update sudo apt-get install mysql-server

Konfigurasi Server Master

Langkah pertama ialah mengkonfigurasi pelayan MySQL tuan. Kami akan membuat perubahan berikut:

  • Tetapkan pelayan MySQL untuk mendengarkan IP swasta. Tetapkan ID server yang unik. Memperoleh pembalakan binari

Untuk berbuat demikian buka fail konfigurasi MySQL dan uncomment atau tetapkan yang berikut:

sudo nano /etc/mysql/mysql.conf.d/mysqld.cnf induk: /etc/mysql/mysql.conf.d/mysqld.cnf

bind-address = 192.168.121.190 server-id = 1 log_bin = /var/log/mysql/mysql-bin.log

Sebaik sahaja selesai, mulakan semula perkhidmatan MySQL untuk perubahan yang akan dilaksanakan:

sudo systemctl restart mysql

Langkah seterusnya adalah untuk mencipta pengguna replikasi baru. Log masuk ke pelayan MySQL sebagai pengguna root dengan menaip:

sudo mysql

Dari dalam prompt MySQL, jalankan pertanyaan SQL berikut yang akan mencipta pengguna replica dan berikan keistimewaan REPLICATION SLAVE kepada pengguna:

CREATE USER 'replica'@'192.168.121.236' IDENTIFIED BY 'replica_password';

GRANT REPLICATION SLAVE ON *.* TO 'replica'@'192.168.121.236'; Pastikan anda menukar IP dengan alamat hamba IP anda. Anda boleh menamakan pengguna yang anda mahu.

Semasa masih berada di dalam prompt MySQL, jalankan perintah berikut yang akan mencetak nama dan kedudukan fail binari.

SHOW MASTER STATUS\G

*************************** 1. row *************************** File: mysql-bin.000001 Position: 629 Binlog_Do_DB: Binlog_Ignore_DB: Executed_Gtid_Set: 1 row in set (0.00 sec)

Perhatikan nama fail, 'mysql-bin.000001' dan Kedudukan '629'. Anda perlu nilai ini apabila mengkonfigurasi pelayan hamba. Nilai-nilai ini mungkin berbeza pada pelayan anda.

Konfigurasi Server Hamba

Seperti untuk pelayan induk di atas, kami akan membuat perubahan berikut kepada pelayan pelayan:

  • Tetapkan pelayan MySQL untuk mendengar pada IPSet swasta pelayan unik IDEnable pembalakan binari

Buka fail konfigurasi MySQL dan edit baris berikut:

sudo nano /etc/mysql/mysql.conf.d/mysqld.cnf hamba: /etc/mysql/mysql.conf.d/mysqld.cnf

bind-address = 192.168.121.236 server-id = 2 log_bin = /var/log/mysql/mysql-bin.log

Mulakan semula perkhidmatan MySQL:

sudo systemctl restart mysql

Langkah seterusnya adalah untuk mengkonfigurasi parameter yang digunakan pelayan hamba untuk menyambung ke pelayan induk. Masuk ke shell MySQL:

sudo mysql

Pertama, hentikan benang hamba:

STOP SLAVE;

Jalankan pertanyaan berikut yang akan menubuhkan hamba untuk meniru tuan:

MASTER_USER='replica', CHANGE MASTER TO MASTER_HOST='192.168.121.190', MASTER_USER='replica', MASTER_PASSWORD='replica_password', MASTER_LOG_FILE='mysql-bin.000001', MASTER_LOG_POS=629;

Pastikan anda menggunakan alamat IP yang betul, nama pengguna dan kata laluan. Nama dan kedudukan fail log mesti sama dengan nilai yang anda peroleh dari pelayan induk.

Setelah selesai, mulailah benang hamba.

START SLAVE;

Uji Konfigurasi

Pada ketika ini, anda perlu mempunyai persediaan replikasi Master / Slave yang berfungsi.

Untuk mengesahkan bahawa semuanya berfungsi seperti yang diharapkan, kami akan membuat pangkalan data baru pada pelayan induk:

sudo mysql

CREATE DATABASE replicatest;

Masuk ke shell MySQL hamba:

sudo mysql

Jalankan arahan berikut untuk menyenaraikan semua pangkalan data:

SHOW DATABASES;

Anda akan mendapati bahawa pangkalan data yang anda buat pada pelayan induk ditiru pada hamba:

+--------------------+ | Database | +--------------------+ | information_schema | | mysql | | performance_schema | | replicatest | | sys | +--------------------+ 5 rows in set (0.00 sec)

Kesimpulannya

Dalam tutorial ini, kami telah menunjukkan anda mencipta replikasi Master / Slave MySQL.

Jangan ragu untuk meninggalkan komen jika anda mempunyai sebarang pertanyaan.

ubuntu mysql mariadb