MySQL cluster: Difference between revisions
Line 20: | Line 20: | ||
=configuratie = | =configuratie = | ||
== configuratie files == | == configuratie files == | ||
al deze bestanden bevinden zich in /etc/mysql/mysql.conf.d | |||
=== mysqld.cnf === | |||
In deze file hebben we 1 aanpassing gedaan we hebben | |||
bind-address = 127.0.0.1 | |||
voorzien van commentaar | |||
=== ssl.cnf === | === ssl.cnf === | ||
mysql beschikt over ssl daarom hebben dit geconfigureerd, onder andere de replicatie loopt over ssl file ziet er zo uit: | |||
[mysqld] | |||
ssl-ca=/disk/site/etc/ssl/hobby.nl/CA-bundel.crt | |||
ssl-cert=/disk/site/etc/ssl/hobby.nl/hobby.nl.crt | |||
ssl-key=/disk/site/etc/ssl/hobby.nl/hobby.nl.key | |||
=== replicatie.cnf === | === replicatie.cnf === | ||
Bij de replicatie is het belangrijk dat de oneven servers het server id 1 hebben en de even server id 2 er mogen nooit 2 de zelfde id's zijn. ook is het van auto-increment-offset belangrijk bij oneven is dat 1 en bij even2. <br> | |||
voor oneven server ziet hij er zo uit: | |||
#sql mode uit voor toestaan lege velden | |||
sql-mode = "" | |||
server-id = 1 | |||
replicate-same-server-id = 0 | |||
auto-increment-increment = 2 | |||
auto-increment-offset = 1 | |||
relay-log = mysql01-relay-bin | |||
binlog_format = "STATEMENT" | |||
replicate-ignore-db = information_schema | |||
replicate-ignore-db = mysql | |||
binlog-ignore-db = information_schema | |||
binlog-ignore-db = mysql | |||
log_bin = /var/log/mysql/mysql-bin.log | |||
slave-skip-errors = 1062 | |||
=== credentials.cnf === | === credentials.cnf === | ||
=== | Op de server is root voor localhost voor zien van wachtwoord om toch mysqldump en het mysql account gebruiken deze file is eigenaar van root en groep mysql met permissies 640. | ||
=== tunning.cnf === | |||
In deze file bevat preformance tunning dit server specifiek maar er moet iedergeval deze regels in staan : | |||
[mysqld] | |||
skip-name-resolve = 1 | |||
== herstellen replicatie == | == herstellen replicatie == |
Revision as of 11:15, 22 November 2020
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
loadbalancing
Onze servers zijn opgezet in een master master setup, dus er kan op beide gemuteerd worden, de loadbalancer verspreid worden.
belangrijk
Op alle clusters moet database lbtest aanwezig zijn met tabel lbtest en deze tabel moet minimaal 1 record hebben, hier test de loadbalancer namelijk op.
De usernaam voor loadbalancer en nagios is lbtest met ww Testing123! deze gebruiker heeft alleen select rechten op deze database
database clusters
dbclus01-int
Dit cluster bestaat uit mysql01 en mysql02
hcc-dbclus02-int
Dit cluster bestaat uit mysql03 en mysql04
dbclus04-int
Dit cluster bestaat uit mysql05 en mysql06
configuratie
configuratie files
al deze bestanden bevinden zich in /etc/mysql/mysql.conf.d
mysqld.cnf
In deze file hebben we 1 aanpassing gedaan we hebben
bind-address = 127.0.0.1
voorzien van commentaar
ssl.cnf
mysql beschikt over ssl daarom hebben dit geconfigureerd, onder andere de replicatie loopt over ssl file ziet er zo uit:
[mysqld] ssl-ca=/disk/site/etc/ssl/hobby.nl/CA-bundel.crt ssl-cert=/disk/site/etc/ssl/hobby.nl/hobby.nl.crt ssl-key=/disk/site/etc/ssl/hobby.nl/hobby.nl.key
replicatie.cnf
Bij de replicatie is het belangrijk dat de oneven servers het server id 1 hebben en de even server id 2 er mogen nooit 2 de zelfde id's zijn. ook is het van auto-increment-offset belangrijk bij oneven is dat 1 en bij even2.
voor oneven server ziet hij er zo uit:
#sql mode uit voor toestaan lege velden sql-mode = "" server-id = 1 replicate-same-server-id = 0 auto-increment-increment = 2 auto-increment-offset = 1 relay-log = mysql01-relay-bin binlog_format = "STATEMENT" replicate-ignore-db = information_schema replicate-ignore-db = mysql binlog-ignore-db = information_schema binlog-ignore-db = mysql log_bin = /var/log/mysql/mysql-bin.log slave-skip-errors = 1062
credentials.cnf
Op de server is root voor localhost voor zien van wachtwoord om toch mysqldump en het mysql account gebruiken deze file is eigenaar van root en groep mysql met permissies 640.
tunning.cnf
In deze file bevat preformance tunning dit server specifiek maar er moet iedergeval deze regels in staan :
[mysqld] skip-name-resolve = 1