Предуслови
Почетак
МиСКЛ мулти-мастер репликација је одлична карактеристика у МиСКЛ-у. Међутим, постоји само један проблем; Чини се да стандардна мулти-мастер репликација никада није тако стабилна као нешто попут репликације мастер-славе. Увек је потребна пажња. Ту на сцену ступа Перцона. Перцона тим је развио невероватан производ под називом Перцона КстраДБ кластер. КстраДБ садржи мулти-мастер репликацију светске класе коју покреће Галера. Дакле, шта чекамо? Хајде да почнемо.
Предуслови
- Линук дистрибуција по вашем избору. У овом водичу ћемо користити Дебиан 7. Можете користити другу дистрибуцију ако желите. ( Имајте на уму да ћете можда морати да прилагодите овај водич за рад са дистрибуцијом по вашем избору )
- Два чвора покрећу исти ОС.
- Основно познавање командне линије и ССХ.
Почетак
ССХ у ваше виртуелне машине.
ВМ 1:
ssh root@xxx.xxx.xxx.xxx
ВМ 2:
ssh root@yyy.yyy.yyy.yyy
Додајте Перцона-ина спремишта.
На оба чвора извршите следећу команду:
echo -e "deb http://repo.percona.com/apt wheezy main\ndeb-src http://repo.percona.com/apt wheezy main" >> /etc/apt/sources.list.d/percona.list && apt-key adv --keyserver keys.gnupg.net --recv-keys 1C4CBDCDCD2EFD2A
Сада морамо да ажурирамо изворе:
apt-get update
Инсталирајте Перцона-КстраДБ кластер.
Инсталација је једноставна:
apt-get install percona-xtradb-cluster-56
Ако сте упознати са МиСКЛ-ом, овај следећи екран би требао изгледати познато. Једноставно пратите упутства на екрану за унос лозинке.
Конфигуришите први чвор.
Конфигурација је прилично једноставна. Само треба да додате неколико редова у МиСКЛ конфигурациони фајл. У овом случају, ја ћу користити Нано, али ви можете користити уређивач текста по избору.
Користите ово да отворите датотеку на обе машине:
nano /etc/mysql/my.cnf
Идите на bind-address = 127.0.0.1и додајте # испред њега. Додајте следеће редове одмах после (коментарисане) bind-addressлиније:
### Galera library.
wsrep_provider=/usr/lib/libgalera_smm.so
### IP addresses of your two nodes.
wsrep_cluster_address=gcomm://xxx.xxx.xxx.xx,yyy.yyy.yyy.yyy
### This will not work unless binlog is formatted to ROW.
binlog_format=ROW
### This changes how InnoDB autoincrement locks are managed and is a requirement for Galera
innodb_autoinc_lock_mode=2
### Node #1 address (The node you are ssh`d into now.)
wsrep_node_address=xxx.xxx.xxx.xx
### SST Method
wsrep_sst_method=xtrabackup-v2
### Cluster name
wsrep_cluster_name=xtradb
### Node Name, in this case we will just call it xtradb1
wsrep_node_name=xtradb1
### Authentication, REMEMBER THIS.
wsrep_sst_auth="sstuser:yoursecretpass"
Сачувајте и изађите из датотеке (Цтрл+Кс).
Сада, хајде да покренемо чвор:
/etc/init.d/mysql bootstrap-pxc
Затим треба да креирамо корисника и дамо му привилегије, зато морате да запамтите ту лозинку. Мораћете да се пријавите на МиСКЛ љуску ( mysql -u root -p) и укуцате следеће (Немојте укључивати mysql>):
mysql> CREATE USER 'sstuser'@'localhost' IDENTIFIED BY 'yoursecretpass';
mysql> GRANT RELOAD, LOCK TABLES, REPLICATION CLIENT ON *.* TO 'sstuser'@'localhost';
mysql> FLUSH PRIVILEGES;
Конфигуришите други чвор.
Конфигурација за други чвор је идентична првом, осим две вредности. Још једном, коментаришите bind-address = 127.0.0.1и залепите следеће одмах после. Не заборавите да сходно томе уредите вредности.
### Galera library.
wsrep_provider=/usr/lib/libgalera_smm.so
### IP addresses of your two nodes.
wsrep_cluster_address=gcomm://xxx.xxx.xxx.xx,yyy.yyy.yyy.yyy
### This will not work unless binlog is formatted to ROW.
binlog_format=ROW
### This changes how InnoDB autoincrement locks are managed and is a requirement for Galera
innodb_autoinc_lock_mode=2
### Node #2 address (The node you are ssh`d into now.)
wsrep_node_address=yyy.yyy.yyy.yyy
### SST Method
wsrep_sst_method=xtrabackup-v2
### Cluster name
wsrep_cluster_name=xtradb
### Node Name, in this case we will just call it xtradb1
wsrep_node_name=xtradb1
### Authentication, REMEMBER THIS.
wsrep_sst_auth="sstuser:yoursecretpass"
Затим откуцајте /etc/init.d/mysql start. Видећете следећи излаз:
[....] Starting MySQL (Percona XtraDB Cluster) database server: mysqld . .
[....] State transfer in progress [ok]
То је то! Конфигурисали сте мулти-мастер КстраДБ кластер! Ово је КстраДБ кластер без бриге са одличним перформансама.
Тестирање кластера.
На чвору 1 унесите mysql -u root -pзатим create database demo;. На супротном чвору, пријавите се на МиСКЛ са роот-ом и откуцајте show databases;. Ако је све функционисало како треба, видећете базу података коју сте креирали на супротном чвору!