MySQL cluster
doel
Om te zorgen dat onze database server ook volledig redundant is hebben we hier een cluster gemaakt, onze loadbalancer zorgt er voor dat verkeer of op db01 of op db02 terecht komt.
opzet
normale situatie
Loadbalancer faalt
Database server faalt
database cluster
configuratie
config files
db01
de config aanpassingen die gedaan zijn op standaard config zijn:
server-id = 1 log_bin = /var/log/mysql/mysql-bin.log binlog_do_db = bas binlog_do_db = lbtest binlog_ignore_db = mysql
db02
de config aanpassingen die gedaan zijn op standaard config zijn:
server-id = 2 log_bin = /var/log/mysql/mysql-bin.log binlog_do_db = bas binlog_do_db = lbtest binlog_ignore_db = mysql
database aan replicatie toevoegen
Op beide database servers moet in /etc/mysql/my.cnf het volgende regeltje worden toegevoegd
binlog_do_db = databasenaam
Hierna moet je op db01 en db02 mysql herstarten dit kan zonder probleem door de loadbalancing.
Hierna moet je op db01 en db02 de database aanmaken en user met bijbehorende rechten aanmaken.
rechten worden niet gerepliceerd
database uit replicatie verwijderen
Op beide database servers moet in /etc/mysql/my.cnf het volgende regeltje worden verwijderd:
binlog_do_db = databasenaam
Hierna moet je op db01 en db02 mysql herstarten dit kan zonder probleem door de loadbalancing.
Hierna moet je op db01 en db02 de database eventueel verwijderen en eventueel de user met bijbehorende rechten verwijderen/aanpassen.
links
http://www.hbyconsultancy.com/blog/create-a-master-master-mysql-replication-ubuntu-server-10-04-x64.html de handleiding die ik gebruikt hebt