MySQL cluster: Difference between revisions
(→db01) |
|||
Line 12: | Line 12: | ||
<pre> | <pre> | ||
server-id = 1 | server-id = 1 | ||
replicate-same-server-id = 0 | |||
auto-increment-increment = 2 | |||
auto-increment-offset = 1 | |||
master-host = 172.31.1.214 | |||
master-user = repl | |||
master-password = fxq5jLqWDYXYKhPD | |||
master-connect-retry = 60 | |||
log_bin = /var/log/mysql/mysql-bin.log | log_bin = /var/log/mysql/mysql-bin.log | ||
expire_logs_days = 10 | |||
max_binlog_size = 100M | |||
binlog_do_db = bas | binlog_do_db = bas | ||
# lbtest mag nooit weg ivm loadbalancing test of mysql nog werkt! | |||
binlog_do_db = lbtest | binlog_do_db = lbtest | ||
binlog_do_db = xibo | |||
binlog_do_db = groepentest | |||
binlog_do_db = groepen | |||
binlog_do_db = groepen-test | |||
binlog_do_db = watersport | |||
binlog_do_db = watersport-test | |||
binlog_do_db = z-drenthe | |||
binlog_do_db = z-drenthe-test | |||
binlog_do_db = z-drenthe-hulp | |||
binlog_do_db = z-drenthe-hulp-test | |||
binlog_do_db = vandenbussche | |||
binlog_do_db = vandenbussche-test | |||
binlog_do_db = mz-limburg | |||
binlog_do_db = mz-limburg-test | |||
binlog_do_db = hccm-gg | |||
binlog_do_db = hccm-gg-test | |||
binlog_do_db = afd-gouda | |||
binlog_do_db = afd-gouda-test | |||
binlog_do_db = flightsimulator | |||
binlog_do_db = flightsimulator-test | |||
binlog_do_db = deventer | |||
binlog_do_db = deventer-test | |||
binlog_do_db = basic | |||
binlog_do_db = basic-test | |||
binlog_do_db = afd-arnhem | |||
binlog_do_db = afd-arnhem-test | |||
binlog_do_db = afd-almere | |||
binlog_do_db = afd-almere-test | |||
binlog_do_db = hcc-dagen | |||
binlog_do_db = basd | |||
binlog_do_db = basd-test | |||
binlog_do_db = int-nlb | |||
binlog_do_db = int-nlb-test | |||
binlog_ignore_db = mysql | binlog_ignore_db = mysql | ||
</pre> | </pre> | ||
Revision as of 17:19, 25 September 2011
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 01 (hobbynet) dbclus01-int
configuratie
config files
db01
de config aanpassingen die gedaan zijn op standaard config zijn:
server-id = 1 replicate-same-server-id = 0 auto-increment-increment = 2 auto-increment-offset = 1 master-host = 172.31.1.214 master-user = repl master-password = fxq5jLqWDYXYKhPD master-connect-retry = 60 log_bin = /var/log/mysql/mysql-bin.log expire_logs_days = 10 max_binlog_size = 100M binlog_do_db = bas # lbtest mag nooit weg ivm loadbalancing test of mysql nog werkt! binlog_do_db = lbtest binlog_do_db = xibo binlog_do_db = groepentest binlog_do_db = groepen binlog_do_db = groepen-test binlog_do_db = watersport binlog_do_db = watersport-test binlog_do_db = z-drenthe binlog_do_db = z-drenthe-test binlog_do_db = z-drenthe-hulp binlog_do_db = z-drenthe-hulp-test binlog_do_db = vandenbussche binlog_do_db = vandenbussche-test binlog_do_db = mz-limburg binlog_do_db = mz-limburg-test binlog_do_db = hccm-gg binlog_do_db = hccm-gg-test binlog_do_db = afd-gouda binlog_do_db = afd-gouda-test binlog_do_db = flightsimulator binlog_do_db = flightsimulator-test binlog_do_db = deventer binlog_do_db = deventer-test binlog_do_db = basic binlog_do_db = basic-test binlog_do_db = afd-arnhem binlog_do_db = afd-arnhem-test binlog_do_db = afd-almere binlog_do_db = afd-almere-test binlog_do_db = hcc-dagen binlog_do_db = basd binlog_do_db = basd-test binlog_do_db = int-nlb binlog_do_db = int-nlb-test 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.
database cluster 02 (hcc.nl) hcc-dbclus02-int
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