Android

Bagaimana untuk mengkonfigurasi tuan mysql

KONFIGURASI REPLIKASI MASTER SLAVE DATABASE MYSQL

KONFIGURASI REPLIKASI MASTER SLAVE DATABASE MYSQL

Isi kandungan:

Anonim

Replikasi MySQL adalah proses yang membolehkan anda menyalin data secara automatik dari satu pelayan pangkalan data 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.

Dalam tutorial ini, kami akan menerangkan bagaimana untuk menubuhkan replikasi Master / Slave MySQL dengan satu tuan dan satu pelayan pelayan pada CentOS 7. 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

Dalam contoh ini, kami mengandaikan bahawa anda mempunyai dua pelayan yang menjalankan CentOS 7, yang boleh berkomunikasi antara satu sama lain melalui rangkaian persendirian. Jika pembekal hosting anda tidak memberikan 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.59 Slave IP: 192.168.121.14

Pasang MySQL

Lalai repositori CentOS 7 tidak termasuk pakej MySQL supaya kami akan memasang MySQL dari Yum Repositori rasmi mereka. Untuk mengelakkan sebarang masalah, kami akan memasang versi MySQL yang sama 5.7 pada kedua-dua pelayan.

Pasang MySQL pada pelayan Master dan Hamba:

sudo yum localinstall sudo yum install mysql-community-server

Setelah pemasangan selesai, mulakan perkhidmatan MySQL dan dayakan boot secara automatik dengan:

sudo systemctl enable mysqld sudo systemctl start mysqld

Apabila pelayan MySQL bermula untuk kali pertama, kata laluan sementara dijana untuk pengguna root MySQL. Untuk mencari kata laluan menggunakan perintah grep berikut:

sudo grep 'temporary password' /var/log/mysqld.log

Jalankan arahan mysql_secure_installation untuk menetapkan kata laluan root baru anda dan tingkatkan keselamatan contoh MySQL:

mysql_secure_installation

Masukkan kata laluan root sementara dan jawab Y (ya) kepada semua soalan.

Kata laluan baru perlu sekurang-kurangnya 8 aksara yang panjang dan mengandungi sekurang-kurangnya satu huruf besar, satu huruf kecil, satu nombor, dan satu aksara khusus.

Konfigurasi Server Master

Pertama, kami akan mengkonfigurasi pelayan MySQL tuan dan membuat perubahan berikut:

  • Tetapkan pelayan MySQL untuk mendengarkan IP peribadi. Tetapkan ID server yang unik. Mendapatkan pembalakan binari.

Untuk melakukannya buka fail konfigurasi MySQL dan tambahkan baris berikut dalam seksyen:

sudo nano /etc/my.cnf induk: /etc/my.cnf

bind-address = 192.168.121.59 server-id = 1 log_bin = mysql-bin

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

sudo systemctl restart mysqld

Langkah seterusnya adalah untuk mencipta pengguna replikasi baru. Masuk ke pelayan MySQL sebagai pengguna root:

mysql -uroot -p

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.14' IDENTIFIED BY 'strong_password';

GRANT REPLICATION SLAVE ON *.* TO 'replica'@'192.168.121.14'; 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: 1427 Binlog_Do_DB: Binlog_Ignore_DB: Executed_Gtid_Set: 1 row in set (0.00 sec)

Ambil perhatian nama fail, 'mysql-bin.000001' dan Kedudukan '1427'. 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/my.cnf hamba: /etc/my.cnf

bind-address = 192.168.121.14 server-id = 2 log_bin = mysql-bin

Mulakan semula perkhidmatan MySQL:

sudo systemctl restart mysqld

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

mysql -uroot -p

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.59', MASTER_USER='replica', MASTER_PASSWORD='strong_password', MASTER_LOG_FILE='mysql-bin.000001', MASTER_LOG_POS=1427;

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:

mysql -uroot -p

CREATE DATABASE replicatest;

Masuk ke shell MySQL hamba:

mysql -uroot -p

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 bahawa anda membuat replikasi Master / Slave MySQL pada CentOS 7.

Jangan ragu untuk meninggalkan komen jika anda mempunyai sebarang pertanyaan.

centos mysql mariadb