MySQL adalah salah satu poyek open source paling sukses hingga saat ini. Hampir semua aplikasi web modern menggunakan MySQL sebagai backend untuk basis datanya. MySQL bahkan menjadi salah satu komponen utama dari empat komponen dalam cerita sukses Linux menguasai pasar server. Huruf M pada LAMP merujuk ke MySQL, tiga lainnya terdiri dari Linux, Apache, dan PHP. Sebagai komponen penting, MySQL harus selalu tersedia untuk melayani berbagai request dari user.
Menjaga ketersediaan suatu layanan seperti MySQL tentu bukan suatu pekerjaan mudah, ada banyak faktor yang berpengaruh. Namun bukan pula sebuah perkara yang mustahil. Bahkan Oracle yang kini menjadi pemilik MySQL sudah menyediakan MySQL Cluster. Bagaimana MySQL Cluster menjamin layanan MySQL akan selalu tersedia? Redundancy. MySQL akan dijalankan di beberapa server, sehingga ketika salah satu server mati akan segera digantikan oleh server lainnya.
Nah, di tutorial kali ini kita akan mencoba memasang MySQL Cluster di Debian GNU/Linux. Walaupun idealnya sebuah sistem cluster dijalankan di beberapa server berbeda, dalam tutorial ini kita akan menjalankannya dalam satu server saja. Berikut step by step instalasi MySQL Cluster di Debian GNU/Linux.
Menjaga ketersediaan suatu layanan seperti MySQL tentu bukan suatu pekerjaan mudah, ada banyak faktor yang berpengaruh. Namun bukan pula sebuah perkara yang mustahil. Bahkan Oracle yang kini menjadi pemilik MySQL sudah menyediakan MySQL Cluster. Bagaimana MySQL Cluster menjamin layanan MySQL akan selalu tersedia? Redundancy. MySQL akan dijalankan di beberapa server, sehingga ketika salah satu server mati akan segera digantikan oleh server lainnya.
Nah, di tutorial kali ini kita akan mencoba memasang MySQL Cluster di Debian GNU/Linux. Walaupun idealnya sebuah sistem cluster dijalankan di beberapa server berbeda, dalam tutorial ini kita akan menjalankannya dalam satu server saja. Berikut step by step instalasi MySQL Cluster di Debian GNU/Linux.
- Unduh installer MySQL Cluster dari mysql.com. Pilih Linux-Generic, sesuaikan arsitekturnya dengan distro Linux yang digunakan.
- Ekstrak tarball berisi installer biner MySQL Cluster.
- Buat direktori untuk menampung data dan konfigurasi MySQL Cluster.
- Buat konfigurasi untuk mysql.
- Buat konfigurasi untuk cluster yang akan dijalankan. Di contoh ini kita akan menjalankan dua node.
vim my_cluster/conf/config.ini
Contoh konfigurasi paling sederhana untuk satu server MySQL (mysqld), dua node data (ndbd), dan satu node manajemen (ndb_mgmd).[ndb_mgmd]
hostname=localhost
datadir=~/mysql_cluster/ndb_data
NodeId=1
[ndbd default]
noofreplicas=2
datadir=~/mysql_cluster/ndb_data
[ndbd]
hostname=localhost
NodeId=3
[ndbd]
hostname=localhost
NodeId=4
[mysqld]
NodeId=50 - Jalankan skrip mysql_install_db untuk mempopulasikan basis data yang dibutuhkan MySQL.
- Jalankan node manajemen, lalu node data secara berurutan.
- Cek status node data.
- Jalankan server MySQL (mysqld).
- Login ke server MySQL dan cobalah untuk mebuat basis data dan tabel menggunakan storage engine ndb.
tar -xzvf mysql-cluster-gpl-7.2.4-linux2.6-x86_64.tar.gz
mv mysql-cluster-gpl-7.2.4-linux2.6-x86_64 mysqlc
mkdir -p my_cluster/{conf,mysqld_data,ndb_data}
vim my_cluster/conf/my.cnfSalin tempel pengaturan berikut ke berkas tersebut.
[mysqld]
ndbcluster
datadir=~/my_cluster/mysqld_data
basedir=~/mysqlc
port=5000
./mysqlc/scripts/mysql_install_db --no-defaults --datadir=~/mysql_cluster/mysqld_data/
./mysqlc/bin/ndb_mgmd -f ~/mysql_cluster/conf/config.ini --initial --configdir=~/mysql_cluster/confHasilnya tampak seperti pada screen shot berikut.
./mysqlc/bin/ndbd -c localhost:1186
./mysqlc/bin/ndbd -c localhost:1186
./mysqlc/bin/ndb_mgm -e showPastikan proses start up node-node ini sudah selesai.
./mysqlc/bin/mysqld --defaults-file=~mysql_cluster/conf/my.cnf
./mysqlc/bin/mysql -h 127.0.0.1 -P 5000 -u root
create database coba_cluster;
use coba_cluster;
create table coba(id int not null primary key) engine=ndb;
insert into coba values (1), (2), (3), (4), (5);
select * from coba