Cara Membuat Ketersediaan Tinggi dengan Replikasi MySQL pada Ubuntu 18.04 VPS atau Dedicated Server

Pengenalan

Ketersediaan yang tinggi berkaitan dengan pangkalan data bermaksud bahawa pangkalan data tertentu mempunyai kemampuan untuk mengatasi kesilapan dari host. Penting juga untuk pangkalan data dapat pulih dari kegagalan dari MySQL, sistem operasi atau penyelenggaraan perkakasan yang mungkin menyebabkan downtime.


Penyelesaian ketersediaan tinggi bergantung pada jenis aplikasi yang digunakan, persekitaran anda’amalan terbaik atau tahap ketersediaan yang diperlukan. Dengan MySQL, seperti persekitaran kluster biasa, terdapat:

  • Nod pengurusan yang digunakan untuk memantau dan mengkonfigurasi klien
  • Nod data yang digunakan untuk menyimpan data dan berkongsi / meniru
  • Nod SQL yang merupakan antara muka untuk disambungkan ke semua nod

Sebelum Anda Bermula

  • Sekurang-kurangnya tiga contoh VPS yang menjalankan Ubuntu 18.04 yang dikonfigurasi dalam persekitaran rangkaian peribadi maya
  • Pengguna bukan root dengan hak istimewa sudo dikonfigurasi pada setiap VPS.
  • wget dan tar pakej yang dipasang di VPS.

Langkah-langkah

Kemas kini pakej sistem di semua 3 nod.

$ sudo apt kemas kini -y && sudo apt upgrade -y

Konfigurasikan nod pengurusan

$ wget http://dev.mysql.com/get/Downloads/MySQL-Cluster-7.4/mysql-cluster-gpl-7.4.12-linux-glibc2.5-x86_64.tar.gz

Ekstrak fail yang dimampatkan ke folder baru.

$ mkdir mysql
$ tar -xzvf mysql-cluster-gpl-7.4.12-linux-glibc2.5-x86_64.tar.gz -C mysql –strip-komponen = 1

Salin fail binari pelayan pengurusan kluster; ndb_mgm dan ndb_mgmd ke dalam folder fail binari tempatan anda dan ubah mod fail menjadi boleh dilaksanakan.

$ sudo cp / mysql / bin / ndb_mgm * / usr / local / bin
$ sudo chmod + x / usr / local / bin / ndb_mgm *

Buat fail konfigurasi yang disebut config.ini dalam yang baru dibuat kluster mysql direktori untuk nod pengelompokan pengurusan. Fail ini akan mengenal pasti nod SQL dan nod pengurusan’alamat IP s.

Ia juga akan mengenal pasti nod data’alamat IP dan direktori data mereka.

$ sudo mkdir -p / var / lib / mysql-cluster
$ nano /var/lib/mysql-cluster/config.ini

Nota Khas: Ingatlah untuk mengganti alamat IP dengan alamat yang ada di persekitaran anda. Bagi kod konfigurasi di bawah, jika anda hanya mempunyai satu node data, NoOfReplicas harus ditetapkan ke 1 kerana anda hanya memiliki satu node data di mana replika jadual akan disimpan.

[ndbd lalai]
NoOfReplicas = 1
DataMemory = 80M
IndexMemory = 18M
[mysqld lalai]
[ndb_mgmd lalai]
[lalai tcp]
# Nod Kawalan / Pengurusan Kluster
[ndb_mgmd]
nama hos = 192.168.56.10
# Node Data
[ndbd]
nama hos = 192.168.56.11
DataDir = / var / lib / mysql-cluster
# Node Data 1
[ndbd]
Nama Hos = 192.168.56.12
DataDir = / var / lib / mysql-cluster
# SQL Node
[mysqld]
nama hos = 192.168.56.40

Sekarang mulakan nod pengurusan kluster dan aktifkan pada permulaan. Ingatlah bahawa semua nod lain harus aktif jika tidak, anda akan menerima ralat pada alamat IP yang tidak ada.

$ sudo ndb_mgmd -f /var/lib/mysql-cluster/config.ini –configdir = / var / lib / mysql-cluster / MySQL Cluster Management Server mysql-5.6.31 ndb-7.4.12 $ sudo echo’ndb_mgmd – f /var/lib/mysql-cluster/config.ini –configdir = / var / lib / mysql-cluster / ‘ >> /etc/rc.local

Nota Khas: Sekiranya anda mendapat ralat kebenaran, cuba log masuk sebagai root (sudo su) dan jalankan perintah itu sekali lagi.

Konfigurasikan nod data

Pasang pakej libaio1 dari linux yang membolehkan membuat beberapa panggilan I / O sistem serentak.

$ sudo apt pasang libaio1

Buat kumpulan dan pengguna baru yang dipanggil mysql

$ kumpulan tambah mysql
$ useradd -g mysql mysql

Muat turun kluster mysql pakej seperti yang anda lakukan dalam nod pengurusan.

$ wget http://dev.mysql.com/get/Downloads/MySQL-Cluster-7.4/mysql-cluster-gpl-7.4.12-linux-glibc2.5-x86_64.tar.gz
$ mkdir mysql
$ tar -xzvf mysql-cluster-gpl-7.4.12-linux-glibc2.5-x86_64.tar.gz -C mysql –strip-komponen = 1

Kali ini, anda akan memindahkan keseluruhan folder mysql ke / usr /tempatan direktori.

$ sudo mv mysql / / usr / tempatan

Ubah direktori ke folder yang dipindahkan dan jalankan skrip pembuatan pangkalan data sistem mysql_install_db

$ cd / usr / tempatan / mysql
$ ./scripts/mysql_install_db –user = mysql

Salin fail perkhidmatan mysql ke di dalamnya.d folder dan aktifkan perkhidmatan mysql semasa memulakan.

$ sudo cp support-files / mysql.server /etc/init.d/mysql
$ sudo systemctl mengaktifkan mysql

Pindahkan fail binari tempatan ke direktori binari tempatan anda dan buat symlink baru.

$ sudo mv bin / * / usr / local / bin /
$ sudo rm -rf tong /
$ sudo ln -s / usr / local / bin / usr / local / mysql /

Tukar direktori mysql ke akar pemilik di mysqlkumpulan dan direktori data kepada pemilik mysql dalam kumpulan mysql.

$ sudo chown -R root: mysql .
$ sudo chown -R data mysql

Sekarang buat fail konfigurasi baru untuk simpul data anda untuk menentukan kluster dan node pengurusan yang menjadi miliknya.

$ sudo mkdir -p / var / lib / mysql-cluster
$ sudo chown -R mysql / var / lib / mysql-cluster

Mulakan nod data

$ ndbd – awal 2018-11-01 00:51:08 [ndbd] INFO – Malaikat disambungkan ke ‘192.168.56.20[186’
2018-11-01 00:51:23 [ndbd] INFO – Nodeid malaikat diperuntukkan: 2 $ sudo systemctl mulakan mysql

Anda kini boleh membuat kata laluan untuk penggunaan mysql anda

$ sudo mysql_secure_installation

Konfigurasikan nod SQL

Anda perlu memasang pakej kluster mysql terlebih dahulu dan memindahkan folder ke direktori / usr / tempatan anda.

$ wget http://dev.mysql.com/get/Downloads/MySQL-Cluster-7.4/mysql-cluster-gpl-7.4.12-linux-glibc2.5-x86_64.tar.gz
$ mkdir mysql
$ tar -xzvf mysql-cluster-gpl-7.4.12-linux-glibc2.5-x86_64.tar.gz -C mysql –strip-komponen = 1
$ mv mysql / usr / tempatan /

Jalankan fail skrip pangkalan data pemasangan.

$ cd / usr / tempatan / mysql
$ sudo ./scripts/mysql_install_db –user = mysql

Salin fail perkhidmatan mysql dan aktifkan semasa boot

$ cp support-files / mysql.server /etc/init.d/mysql
$ sudo systemctl mengaktifkan msql

Pindahkan fail binari tempatan ke direktori binari tempatan anda dan buat symlink baru.

$ sudo mv bin / * / usr / local / bin /
$ sudo rm -rf tong /
$ sudo ln -s / usr / local / bin / usr / local / mysql /

Akhirnya, buat a saya.cnf fail dan tampal pada kod berikut sambil mengganti alamat IP nod pengurusan anda.

$ vim /etc/my.cnf
# Konfigurasi MySQL
[mysqld]
datadir = / usr / local / mysql / data
soket = / tmp / mysql.sock
pengguna = mysql

# Jalankan enjin penyimpanan ndb
ndbcluster
# Nod pengurusan alamat IP
ndb-connectstring = 192.168.56.20
[mysql_cluster]
# Nod pengurusan alamat IP
ndb-connectstring = 192.168.56.20
# MySQL Pid dan Log
[mysqld_safe]
log-error = / var / log / mysqld.log
pid-file = / var / run / mysqld / mysqld.pid

Simpan perubahan, keluar kemudian mulakan perkhidmatan mysql dan konfigurasikan kata laluan anda.

$ sudo systemctl mulakan mysql
$ sudo mysql_secure_installation
$ mysql -u root -p

Untuk mengesahkan bahawa pemasangan anda berfungsi, anda akan membuat contoh pangkalan data di simpul SQL anda dan periksa sama ada ia akan ditiru di simpul data.

Dalam SQL VPS yang sama, buat pangkalan data baru (namakan apa sahaja yang anda mahukan)

mysql> Sayuran CREATEDATABASE;
Pertanyaan OK, 1 baris terjejas (0,02 saat)

Masuk ke simpul data dan periksa pangkalan data, pangkalan data yang dibuat di simpul SQL seharusnya telah ditiru.

$ mysql -u root -p mysql> PANGKALAN TUNJUK;

Kesimpulannya

Anda berjaya menyiapkan replikasi kluster MySQL anda untuk ketersediaan yang tinggi. Anda boleh mematikan status kluster anda dari nod pengurusan dari konsol ndb_mgm dengan menggunakan perintah tutup.

Akhirnya, untuk memantau yang sama dari konsol ndb_mgm, anda boleh menggunakan tunjuk perintah. Replikasi kluster MySQL terbukti memberikan toleransi kesalahan, failover automatik, dan keanjalan.

Lihat 3 perkhidmatan hosting Linux teratas ini

FastComet

Harga bermula:
$ 2.95


Kebolehpercayaan
9.7


Harga
9.5


Mesra pengguna
9.7


Sokongan
9.7


ciri-ciri
9.6

Baca ulasan

Lawati FastComet

Hostinger

Harga bermula:
$ 0.99


Kebolehpercayaan
9.3


Harga
9.3


Mesra pengguna
9.4


Sokongan
9.4


ciri-ciri
9.2

Baca ulasan

Lawati Hostinger

ChemiCloud

Harga bermula:
$ 2.76


Kebolehpercayaan
10


Harga
9.9


Mesra pengguna
9.9


Sokongan
10


ciri-ciri
9.9

Baca ulasan

Lawati ChemiCloud

Artikel Cara Berkaitan

  • Cara Memasang MYSQL 8.0 dan Membuat Pangkalan Data pada Ubuntu 18.04 Linux VPS
    pertengahan
  • Cara Menyiapkan Replikasi pada PostgreSQL pada Ubuntu 18.04 VPS atau Dedicated Server
    pertengahan
  • Cara Memasang dan Membuat Kotak Pasir MySQL dengan DBdeployer pada Ubuntu 18.04 VPS atau Dedicated Server
    pemula
  • Cara Melindungi PhpMyAdmin pada Ubuntu 18.04 VPS atau Dedicated Server
    pertengahan
  • Cara Melumpuhkan MySQL 5 "Mod Ketat" pada Ubuntu 18.04 VPS atau Dedicated Server
    pertengahan
Jeffrey Wilson Administrator
Sorry! The Author has not filled his profile.
follow me
    Like this post? Please share to your friends:
    Adblock
    detector
    map