Die Konfiguration einer Master-Slave-Datenbank in MariaDB für die Replikation erfordert mehrere Schritte. Im Folgenden sind die allgemeinen Schritte aufgeführt, die wahrscheinlich angepasst werden müssen, um Ihre spezifischen Anforderungen zu erfüllen.
1. Konfiguration des Masters:
a. Bilden Sie auf dem Master eine Sicherung der Datenbank, die repliziert werden soll. Sie können mysqldump, mariadb-dump oder xtrabackup verwenden. b. Öffnen Sie die MariaDB-Konfigurationsdatei (in der Regel ‘/etc/mysql/my.cnf’ oder ‘/etc/mysql/mariadb.conf.d/50-server.cnf’) und fügen Sie die folgenden Zeilen unter der [mysqld]-Sektion ein: ``` log-bin = mysql-bin server_id = 1 ``` c. Starten Sie den MariaDB-Server neu. d. Melden Sie sich bei MariaDB an und erstellen Sie einen Benutzer für die Replikation. Gewähren Sie diesem Benutzer die REPLICATION SLAVE-Berechtigung. ```sql CREATE USER ‘repl’@’%’ IDENTIFIED BY ‘password’; GRANT REPLICATION SLAVE ON . TO ‘repl’@’%’; FLUSH PRIVILEGES; ``` e. Notieren Sie die aktuelle Position im Binlog. Sie können diese mit der folgenden Abfrage ermitteln: ```sql SHOW MASTER STATUS; ``` 2. Konfiguration des Slaves: a. Importieren Sie die zuvor erstellte Sicherung in die Slave-Datenbank. b. Öffnen Sie die MariaDB-Konfigurationsdatei und fügen Sie die folgenden Zeilen unter der [mysqld]-Sektion hinzu (der server_id muss von dem auf dem Master verschieden sein): ``` server_id = 2 ``` c. Starten Sie den MariaDB-Server neu. d. Melden Sie sich bei MariaDB an und stellen Sie eine Verbindung zum Master her: ```sql CHANGE MASTER TO MASTER_HOST=‘master_host’, MASTER_USER=‘repl’, MASTER_PASSWORD=‘password’, MASTER_LOG_FILE=‘binlog_file’, MASTER_LOG_POS=binlog_pos; ``` Ersetzen Sie master_host durch die IP-Adresse oder den Hostnamen des Masters, binlog_file und binlog_pos durch die Werte, die Sie zuvor beim Master notiert haben. e. Starten Sie die Replikation: ```sql START SLAVE; ```3. Überprüfen Sie, ob die Replikation funktioniert, indem Sie auf dem Slave den folgenden Befehl ausführen:
```sql
SHOW SLAVE STATUS\G;
```
Wenn die “Slave_IO_State” “Waiting for master to send event” anzeigt und die Werte von “Slave_IO_Running” und “Slave_SQL_Running” beide “Yes” sind, dann funktioniert die Replikation.
Bitte beachten Sie, dass die Hier angegebene Methode nur für bestimmte Situationen geeignet ist und in anderen Kontexten möglicherweise nicht funktioniert. Immer wenn Sie Änderungen an Ihrer Datenbank vornehmen, sollten Sie sicherstellen, dass Sie über eine aktuelle Sicherung verfügen.