MySQL Replikation Keine Verbindung zum Master Server

Werner S

Member
Grüß euch,

ich habe local zum Testen eine MySQL Replikation erstellt. Dabei bin ich nach folgendem Artikel vorgegangen https://www.thomas-krenn.com/de/wiki/MySQL_Replikation

Die Daten sind mit mysqldump nun auf dem Slave, ein show slave status\G ergibt

MariaDB [(none)]> show slave status\G
*************************** 1. row ***************************
Slave_IO_State: Connecting to master
Master_Host: 185.239.xxx.xxx
Master_User: repl
Master_Port: 3306
Connect_Retry: 60
Master_Log_File: mysql-bin.000002
Read_Master_Log_Pos: 313
Relay_Log_File: mysql-relay-bin.000001
Relay_Log_Pos: 4
Relay_Master_Log_File: mysql-bin.000002
Slave_IO_Running: Connecting
Slave_SQL_Running: Yes
Replicate_Do_DB:
Replicate_Ignore_DB:
Replicate_Do_Table:
Replicate_Ignore_Table:
Replicate_Wild_Do_Table:
Replicate_Wild_Ignore_Table:
Last_Errno: 0
Last_Error:
Skip_Counter: 0
Exec_Master_Log_Pos: 313
Relay_Log_Space: 249
Until_Condition: None
Until_Log_File:
Until_Log_Pos: 0
Master_SSL_Allowed: No
Master_SSL_CA_File:
Master_SSL_CA_Path:
Master_SSL_Cert:
Master_SSL_Cipher:
Master_SSL_Key:
Seconds_Behind_Master: NULL
Master_SSL_Verify_Server_Cert: No
Last_IO_Errno: 1130
Last_IO_Error: error connecting to master '[email protected]:3306' - retry-time: 60 maximum-retries: 86400 message: Host '134.255.xxx.xxx' is not allowed to connect to this MariaDB server
Last_SQL_Errno: 0
Last_SQL_Error:
Replicate_Ignore_Server_Ids:
Master_Server_Id: 0
Master_SSL_Crl:
Master_SSL_Crlpath:
Using_Gtid: No
Gtid_IO_Pos:
Replicate_Do_Domain_Ids:
Replicate_Ignore_Domain_Ids:
Parallel_Mode: conservative
1 row in set (0.00 sec)

Er baut also die Verbindung auf, der Slaveserver ist aber nicht berechtigt. Verstehe ich das richtig? Auf dem Master habe ich unter bind-adresse localhost stehen, habe es mit der master server IP versucht und auch schon diese Zeile gelöscht.

Habe ich was übersehen? Liegt es daran das ich die Datenbanken
information_schema, mysql, performance_schema nicht löschen konnte?
 
Er baut also die Verbindung auf, der Slaveserver ist aber nicht berechtigt. Verstehe ich das richtig?

Hast du entsprechende "GRANT"-Privileges ausgeführt?
https://mariadb.com/kb/en/library/setting-up-replication/

Auf dem Master habe ich unter bind-adresse localhost stehen, habe es mit der master server IP versucht und auch schon diese Zeile gelöscht.

Du musst (sinnvollerweise) den MySQL-Server an die "öffentliche" IP-Adresse des binden, damit du den MySQL-Server auch vom Slave erreichen kannst. Bindest du den an localhost, kannst du diesen sinnvollerweise von Extern nicht erreichen.

(Und bitte anschließend via iptables den Zugriff entsprechend einschränken) :)

Anschließend MySQL neustarten und bspw. mittels telnet testen:
Code:
telnet IP-Adresse-Master 3306
 
Ich danke euch. "GRANT"-Privileges war das Stichwort.

@killerbees19
Das war mein nächster Punkt auf der Liste. Klappt das auch mit den Let's encrypt Zertifikaten?
 
Gerade bei MySQL gibt es keinen Grund eine offizielle CA zu nehmen. Du musst eh das CA-Cert angeben, selbst signieren ist somit durchaus angebracht. Dort bestimmst Du, wer Zertifikate bekommt oder welche zurückgezogen werden.

Ich persönlich verwende für solche internen Dinge immer eine eigene CA, nur für den jeweiligen Dienst. (z.B. eine fürs VPN, eine für MySQL/MariaDB, eine fürs Monitoring, …)
 
Back
Top