MariaDB Replikation (Ubuntu)
Noch in Bearbeitung
Server A (10.0.0.157) - Teil 1
Die Datei /etc/mysql/mariadb.conf.d/50-server.cnf editieren
sudo vi /etc/mysql/mariadb.conf.d/50-server.cnf
und folgende Zeilen hinzufügen/anpassen:
bind-address=10.0.0.157 server-id = 1 log_bin = /var/log/mysql/mysql-bin.log expire_logs_days = 10 binlog_do_db = powerdns binlog_do_db = ddns replicate-do-db = powerdns replicate-do-db = ddns log-basename = master1
Danach den Server neu starten:
sudo systemctl restart mariadb
CREATE USER 'master'@'%' IDENTIFIED BY '<password>'; GRANT REPLICATION SLAVE ON *.* TO 'master'@'%'; FLUSH PRIVILEGES;
SHOW MASTER STATUS;
+------------------+----------+--------------+------------------+ | File | Position | Binlog_Do_DB | Binlog_Ignore_DB | +------------------+----------+--------------+------------------+ | mysql-bin.000001 | 774 | | | +------------------+----------+--------------+------------------+ 1 row in set (0.000 sec)
Server B (10.0.0.167)
Die Datei /etc/mysql/mariadb.conf.d/50-server.cnf editieren
sudo vi /etc/mysql/mariadb.conf.d/50-server.cnf
und folgende Zeilen hinzufügen/anpassen:
bind-address=10.0.0.167 server-id = 2 log_bin = /var/log/mysql/mysql-bin.log expire_logs_days = 10 binlog_do_db = powerdns binlog_do_db = ddns replicate-do-db = powerdns replicate-do-db = ddns log-basename = master2
Danach den Server neu starten:
sudo systemctl restart mariadb
CREATE USER 'master'@'%' IDENTIFIED BY '<password>'; GRANT REPLICATION SLAVE ON *.* TO 'master'@'%'; FLUSH PRIVILEGES;
STOP SLAVE;
CHANGE MASTER TO MASTER_HOST = '10.0.0.157', MASTER_USER = 'master', MASTER_PASSWORD = '<password>', MASTER_LOG_FILE = 'mysql-bin.000001', MASTER_LOG_POS = 774;
START SLAVE;
SHOW MASTER STATUS;
+------------------+----------+--------------+------------------+ | File | Position | Binlog_Do_DB | Binlog_Ignore_DB | +------------------+----------+--------------+------------------+ | mysql-bin.000001 | 774 | | | +------------------+----------+--------------+------------------+ 1 row in set (0.000 sec)
Server A (10.0.0.157) - Teil 2
mysql -u root -p
STOP SLAVE;
CHANGE MASTER TO MASTER_HOST = '10.0.0.167', MASTER_USER = 'master', MASTER_PASSWORD = '<password>', MASTER_LOG_FILE = 'mysql-bin.000001', MASTER_LOG_POS = 774;
START SLAVE;
Client Status
SHOW SLAVE STATUS\G
Log-Files
Wenn die Konfiguration log-basename
gesetzt ist, dann werden die Log-Dateien direkt im Datenverzeichnis abgelegt. Wo sich das Datenverzeichnis befindet, findet man über folgenden SQL-Befehl heraus:
SHOW VARIABLES LIKE '%datadir%';
Das sollte dann in etwa folgendes Ergebnis zurückgeben:
+---------------------------------------------+------------------------+ | Variable_name | Value | +---------------------------------------------+------------------------+ | datadir | /var/lib/mysql/ | +---------------------------------------------+------------------------+
Probleme
Could not initialize master info structure for ; more error messages can be found in the MariaDB error log
RESET SLAVE;
Links
https://mariadb.com/kb/en/setting-up-replication/
https://forums.mysql.com/read.php?26,171776,205870
https://mariadb.com/kb/en/standard-replication/
Zurück zu MariaDB