GNU/Linux >> Belajar Linux >  >> Ubuntu

Cara Menginstal Cluster MySQL di Ubuntu 16.04

MySQL Cluster adalah teknologi untuk menyediakan ketersediaan tinggi untuk Database MySQL. Menggunakan NDB (Network DataBase) atau NDBCLUSTER sebagai mesin penyimpanan database. MySQL Cluster dirancang sebagai arsitektur ACID multi-master tanpa satu titik kegagalan, menggunakan sharding otomatis (partisi) untuk menskalakan proses baca dan tulis.

Untuk mengimplementasikan MySQL Cluster, kita membutuhkan 3 jenis node yang berbeda:

  • Simpul Manajemen (ndb_mgmd )
    • Digunakan untuk memantau dan mengonfigurasi cluster.
  • Node Data (ndbd )
    • Node ini digunakan untuk menyimpan data yang mereka berikan sharding otomatis dan dapat menangani replikasi.
  • Simpul SQL (mysqld )
    • Antarmuka MySQL Server untuk menghubungkan ke semua node.

Dalam tutorial ini, saya akan menunjukkan cara menginstal 'MySQL Cluster' di Ubuntu 16.04 LTS (Xenial Xerus).

Prasyarat

  • 4 node dengan server Ubuntu 16.04
  1. 192.168.1.11    management-node
  2. 192.168.1.12    data-node1
  3. 192.168.1.13    data-node2
  4. 192.168.1.14    sql-node
  • Hak istimewa root pada node.

Langkah 1 - Instal dan Konfigurasikan Node Manajemen

Pada langkah ini, kita akan menginstal node manajemen untuk cluster kita dengan alamat IP 192.168.1.11. Kami menginstal perangkat lunak cluster MySQL dan mengonfigurasinya sebagai node manajemen untuk cluster.

Masuk ke node manajemen dengan ssh:

ssh [dilindungi email]
KETIKA SANDI ANDA

A. Instal Node Manajemen Cluster MySQL

Buka situs cluster MySQL di sini dan pilih opsi 'Linux-generic ' dan unduh paket 64-bit dengan mengeklik 'Unduh '.

Unduh paket cluster MySQL dengan wget dan ekstrak.

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

Ganti nama direktori menjadi mysql:

mv mysql-cluster-gpl-7.4.12-linux-glibc2.5-x86_64/ mysql/

Buka direktori mysql dan salin 2 file biner untuk perintah manajemen cluster 'ndb_mgmd dan ndb_mgm ' ke direktori '/usr/local/bin/', lalu buat agar dapat dieksekusi dengan perintah chmod.

cd ~/mysql/
cp bin/ndb_mgm* /usr/local/bin/
chmod +x /usr/local/bin/ndb_mgm*

B. Konfigurasi Node Manajemen Cluster MySQL

Konfigurasikan node manajemen dengan membuat direktori baru 'mysql-cluster' untuk file konfigurasi di direktori '/var/lib/'.

Buat direktori 'mysql-cluster' dan buat konfigurasi baru 'config.ini' di direktori:

mkdir -p /var/lib/mysql-cluster/
vim /var/lib/mysql-cluster/config.ini

Rekatkan konfigurasi di bawah ini:

[default ndbd]
NoOfReplicas=2
DataMemory=80M
IndexMemory=18M

[default mysqld]

[ndb_mgmd default]

[tcp default]

# Kontrol Cluster / Manajemen node
[ndb_mgmd]
hostname=192.168.1.11

# Node Data 1
[ndbd]
hostname=192.168.1.12
DataDir=/var/lib/mysql-cluster

# Data Node 1
[ndbd]
NamaHost=192.168.1.13
DataDir=/var/lib/mysql-cluster

# SQL Node
[mysqld]
hostname=192.168.1.14

# Jika Anda ingin menambahkan SQL Node baru
[mysqld]

Ubah alamat IP ndb_mgmd untuk manajemen, ndbd untuk node data dan mysqld untuk node sql agar sesuai dengan pengaturan Anda.

Simpan file dan keluar.

Selanjutnya, mulailah proses node manajemen dengan perintah di bawah ini:

ndb_mgmd -f /var/lib/mysql-cluster/config.ini --configdir=/var/lib/mysql-cluster/

Buatlah untuk memulai saat boot dengan menambahkan perintah ke '/etc/rc.local ' file:

echo 'ndb_mgmd -f /var/lib/mysql-cluster/config.ini --configdir=/var/lib/mysql-cluster/'>> /etc/rc.local

Jika Anda melihat hasilnya:

Server Manajemen Cluster MySQL mysql-5.6.31 ndb-7.4.12

Kemudian proses node manajemen berjalan.

Periksa node manajemen dengan perintah lain:

# Memeriksa port 1186 yang digunakan oleh ndb_mgmd
netstat -plntu

# Memeriksa apakah node manajemen sudah siap
ndb_mgm
show

Langkah 2 - Instal dan Konfigurasikan Data Node

Pada langkah ini, kita akan menginstal perangkat lunak cluster MySQL dan mengkonfigurasinya sebagai node data. Kami akan menggunakan 2 server ubuntu 16.04 sebagai node data:data-node1 dengan alamat IP 192.168.1.12 dan data-node2 dengan alamat IP 192.168.1.13.

Masuk ke server data-node1 dengan ssh:

ssh [dilindungi email]

A. Instal MySQL Cluster di Data Node

Sebelum kita menginstal perangkat lunak cluster MySQL, kita perlu menginstal paket baru 'libaio1 ' dan buat pengguna dan grup baru mysql . Jalankan perintah di bawah ini sebagai root untuk itu:

apt-get install libaio1
groupadd mysql
useradd -g mysql mysql

Sekarang unduh paket cluster MySQL 'Linux-Generic ', ekstrak dan ganti nama direktori menjadi mysql.

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

Pindahkan direktori 'mysql' ke '/usr/local /' dan pergi ke direktori itu.

mv mysql /usr/local/
cd /usr/local/mysql/

Jalankan skrip untuk membuat database sistem:

./scripts/mysql_install_db --user=mysql

Jika tidak ada kesalahan, salin file layanan mysql ke '/etc/init.d ' dan tambahkan skrip mulai mysql untuk dijalankan saat boot.

cp support-files/mysql.server /etc/init.d/mysql
systemctl aktifkan mysql

Selanjutnya, pindahkan semua perintah biner mysql ke '/usr/local/bin ' dan buat symlink baru.

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

Ubah pemilik direktori mysql menjadi root pengguna dan grup mysql, dan ubah direktori data menjadi mysql sebagai pemilik.

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

B. Konfigurasi Node Data Cluster MySQL

Buat file konfigurasi mysql baru 'my.cnf ' dengan vim:

vim /etc/my.cnf

Tempelkan konfigurasi di bawah ini:

# Konfigurasi MySQL
[mysqld]
datadir=/usr/local/mysql/data
socket=/tmp/mysql.sock
user=mysql

# Jalankan mesin penyimpanan ndb
ndbcluster
# node manajemen alamat IP
ndb-connectstring=192.168.1.11

[mysql_cluster]
# Node manajemen alamat IP
ndb-connectstring=192.168.1.11

# Pid dan Log MySQL
[mysqld_safe]
log-error=/var/log/mysqld. log
pid-file=/var/run/mysqld/mysqld.pid

Simpan dan keluar.

Buat direktori baru untuk node data dan ubah kepemilikan menjadi pengguna mysql.

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

C. Mulai MySQL di Data Node

Mulai layanan mysql dengan perintah di bawah ini:

ndbd --initial
systemctl start mysql

Pastikan tidak ada error, dan hasilnya seperti di bawah ini (data-node2):

MySQL pada node data dimulai. Sekarang Anda dapat mengkonfigurasi kata sandi MySQL dengan perintah:

mysql_secure_installation

atau akses shell MySQL.

mysql -u root -p

CATATAN :
Ulangi langkah ini pada 'data-node2 ' alamat IP server 192.168.1.13.

Langkah 3 - Instal dan Konfigurasikan SQL Node

Pada langkah ini, kita akan menginstal perangkat lunak MySQL Cluster dan mengkonfigurasinya sebagai SQL Node. Node ini digunakan untuk mengakses database pada node data. Proses instalasi sama dengan node data, tetapi kita tidak harus menjalankan layanan ndbd di SQL Node.

Masuk ke SQL Node dengan ssh:

ssh [dilindungi email]

A. Instal MySQL Cluster pada SQL Node

Instal paket libaio1 dan buat pengguna dan grup baru mysql:

apt-get install libaio1
groupadd mysql
useradd -g mysql mysql

Unduh paket cluster mysql dari situs, ekstrak dan ganti namanya:

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

Pindahkan direktori mysql:

mv mysql /usr/local/
cd /usr/local/mysql/

Jalankan mysql_install_db naskah:

./scripts/mysql_install_db --user=mysql

Salin file layanan dan tambahkan mulai saat boot:

cp support-files/mysql.server /etc/init.d/mysql
systemctl aktifkan mysql

Pindahkan semua binari mysql ke '/usr/local/bin ' direktori:

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

Ubah pemilik semua file dan direktori:

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

B. Konfigurasi MySQL Cluster SQL Node

Buat yang baru my.cnf file konfigurasi dengan vim:

vim /etc/my.cnf

Rekatkan konfigurasi di bawah ini:

# Konfigurasi MySQL
[mysqld]
datadir=/usr/local/mysql/data
socket=/tmp/mysql.sock
user=mysql

# Jalankan mesin penyimpanan ndb
ndbcluster
# node manajemen alamat IP
ndb-connectstring=192.168.1.11

[mysql_cluster]
# Node manajemen alamat IP
ndb-connectstring=192.168.1.11

# Pid dan Log MySQL
[mysqld_safe]
log-error=/var/log/mysqld. log
pid-file=/var/run/mysqld/mysqld.pid

Simpan dan keluar.

C. Mulai Simpul SQL

Mulai node SQL dengan memulai layanan mysql dengan perintah systemctl:

systemctl start mysql

SQL Node dimulai, sekarang Anda dapat mengonfigurasi kata sandi untuk MySQL.

mysql_secure_installation

Langkah 4 - Pengujian

Uji untuk membuat database baru dari simpul SQL.

mysql -u root -p
TYPE PASSWORD


buat database nanana;

Periksa apakah database direplikasi pada server data-node.
Dan saat node nonaktif, node lain akan menangani koneksi dari node SQL.

mysql -u root -p
TYPE PASSWORD


tampilkan database;

Memeriksa status cluster dari node manajemen:

ndb_mgm
tampilkan

Langkah 5 - Tips Tambahan

Melakukan restart dan shutdown cluster yang aman.

Buka node manajemen cluster dan ketik perintah di bawah ini untuk mematikan cluster:

ndb_mgm
matikan

Perintah akan mematikan semua layanan ndb pada node data.

Jika Anda ingin memulai cluster lagi, Anda dapat menjalankan perintah di bawah ini pada node manajemen:

ndb_mgmd -f /var/lib/mysql-cluster/config.ini --configdir=/var/lib/mysql-cluster/

Dan jalankan perintah di bawah ini pada semua node data:

ndbd
systemctl start mysql

Kemudian mulai layanan mysql pada simpul SQL:

systemctl start mysql

Sekarang MySQL Cluster Anda berjalan kembali.


Ubuntu
  1. Cara Menginstal MySQL 8.0 di Ubuntu 18.04

  2. Cara Menginstal MySQL di Ubuntu 20.04

  3. Cara Menginstal Node.js di Ubuntu 16.04

  1. Cara Menginstal MySQL di Ubuntu 18.04

  2. Cara Menginstal MySQL 8.0 di Ubuntu 18.04

  3. Cara Menginstal MySQL di Ubuntu

  1. Cara Menginstal Server MySQL di Ubuntu

  2. Cara Menginstal MySQL 8.0 di Ubuntu 18.04

  3. Cara Menginstal Node.js di Ubuntu 22.04 LTS