Parakushtet
Fillimi
Replikimi i shumëfishtë i MySQL është një veçori e shkëlqyer brenda MySQL. Megjithatë, ka vetëm një problem; replikimi standard multi-master duket se nuk është kurrë aq i qëndrueshëm sa diçka si replikimi master-slave. Gjithmonë ka nevojë për vëmendje. Këtu hyn në lojë Percona. Ekipi Percona ka zhvilluar një produkt të mahnitshëm të quajtur Percona XtraDB cluster. XtraDB përmban replikim të shumëfishtë master të klasit botëror të mundësuar nga Galera. Pra, çfarë po presim? Le të fillojmë.
Parakushtet
- Një shpërndarje Linux sipas zgjedhjes suaj. Në këtë udhëzues, ne do të përdorim Debian 7. Ju mund të përdorni një shpërndarje të ndryshme nëse dëshironi. ( Vini re se mund t'ju duhet ta përshtatni këtë udhëzues për të punuar me shpërndarjen e zgjedhjes suaj )
- Dy nyje që drejtojnë të njëjtin OS.
- Njohuri bazë për vijën komanduese dhe SSH.
Fillimi
SSH në makinat tuaja virtuale.
VM 1:
ssh [email protected]
VM 2:
ssh [email protected]
Shtoni magazinat e Percona-s.
Në të dy nyjet, ekzekutoni komandën e mëposhtme:
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
Tani duhet të përditësojmë burimet:
apt-get update
Instaloni Percona-XtraDB Cluster.
Instalimi është i drejtpërdrejtë:
apt-get install percona-xtradb-cluster-56
Nëse jeni njohur me MySQL, atëherë ky ekran tjetër duhet të duket i njohur. Thjesht ndiqni udhëzimet në ekran për të futur një fjalëkalim.
Konfiguro nyjen e parë.
Konfigurimi është mjaft i thjeshtë. Thjesht duhet të shtoni disa rreshta në skedarin e konfigurimit MySQL. Në këtë rast, unë do të përdor Nano, por ju mund të përdorni redaktuesin e tekstit të zgjedhur.
Përdoreni këtë për të hapur skedarin në të dy makinat:
nano /etc/mysql/my.cnf
Shkoni poshtë bind-address = 127.0.0.1
dhe shtoni një # përpara tij. Shtoni rreshtat e mëposhtëm menjëherë pas rreshtit (të komentuar) 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"
Ruani dhe dilni nga skedari (Ctrl+X).
Tani, le të bootstrap nyjen:
/etc/init.d/mysql bootstrap-pxc
Më pas, ne duhet të krijojmë përdoruesin dhe t'i japim privilegje, kjo është arsyeja pse ju duhet ta mbani mend atë fjalëkalim. Ju do të duhet të identifikoheni në guaskën MySQL ( mysql -u root -p
) dhe të shkruani sa vijon (Mos përfshini mysql>
):
mysql> CREATE USER 'sstuser'@'localhost' IDENTIFIED BY 'yoursecretpass';
mysql> GRANT RELOAD, LOCK TABLES, REPLICATION CLIENT ON *.* TO 'sstuser'@'localhost';
mysql> FLUSH PRIVILEGES;
Konfiguro nyjen e dytë.
Konfigurimi për nyjen e dytë është identik me të parën, me përjashtim të dy vlerave. Edhe një herë, komentoni bind-address = 127.0.0.1
dhe ngjisni sa vijon menjëherë pas tij. Mos harroni të modifikoni vlerat në përputhje me rrethanat.
### 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"
Më pas, shkruani /etc/init.d/mysql start
. Do të shihni daljen e mëposhtme:
[....] Starting MySQL (Percona XtraDB Cluster) database server: mysqld . .
[....] State transfer in progress [ok]
Kjo eshte! Ju keni konfiguruar një grup XtraDB me shumë master! Ky është një grup XtraDB pa shqetësime me performancë të shkëlqyer.
Testimi i grupit.
Në nyjen 1, shkruani më mysql -u root -p
pas create database demo;
. Në nyjen e kundërt, identifikohuni në MySQL me rrënjë dhe shkruani show databases;
. Nëse gjithçka funksionoi si duhet, atëherë do të shihni bazën e të dhënave që keni krijuar në nyjen e kundërt!