sql >> Database >  >> RDS >> Mysql

Op afstand verbinding maken met MySQL op Google Compute Engine VM

Ik heb zojuist de oplossing voor mijn probleem gevonden,

Speciale dank aan @Slava voor het wijzen van de weg, het waren tenslotte iptables.

Dus ik kreeg steeds het bericht "MySQL-verbinding geweigerd" wanneer ik op afstand verbinding probeerde te maken, dus ik zocht naar een manier om de TCP-verbindingslogboeken te zien en ik vond de tcpdump commando.

Door sudo tcpdump port 3306 -vvv -n . uit te voeren Ik zag de volgende uitvoer elke keer dat ik op afstand verbinding probeerde te maken:

Ik heb de man-pagina van tcpdump doorzocht en zag dat R betekent voor de vlag TCP RST (RESET).

Even gezocht en vond deze vraag en het geaccepteerde antwoord leidde me weer naar IPTABLES die @Slava suggereerde sinds de eerste opmerking.

Toen keek ik goed en zag dat mijn INPUT ACCEPT tcp:3306 was gedefinieerd na de REJECT TCP-rejectie-met tcp-reset-regel, vandaar dat het logboek werd weergegeven.

Hierna heb ik zojuist de regel om tcp:3306 te accepteren verwijderd en toegevoegd aan de tcp-regels voor weigeren en voila!

iptables -D INPUT -p tcp -m tcp --dport 3306 -j ACCEPT
iptables -I INPUT {line number from the first reject tcp rule} -p tcp -m tcp --dport 3306 -j ACCEPT

IPTABLES ziet er nu zo uit en eindelijk kan ik op afstand verbinding maken met MySQL:

Om de iptables met regelnummers weer te geven, typt u:

sudo iptables -nL --line-numbers

Laatste opdrachten:

  • Dit kan worden verbeterd door het bron-IP-adres van waaruit u de externe verbinding maakt op de witte lijst te zetten voor beveiligingskwesties.


  1. Controleer of ipv6 binnen bereik is

  2. Welke effecten heeft het gebruik van een binaire sortering?

  3. MySQL wat is de maximale grootte van een database?

  4. Lees slave, lees-schrijf master setup