sql >> Database teknologi >  >> RDS >> Mysql

Sådan fjernforbindelse til en MySQL-database placeret på vores delte server

På grund af sikkerhedsmæssige årsager, fjern MySQL-forbindelse er deaktiveret på vores Shared Hosting-servere. Du kan dog nemt konfigurere en SSH-tunnel mellem din computer og vores server ved hjælp af en SSH-klient med MySQL-port 3306-videresendelsen.

Når du har gjort dette, vil du have port 5522 på din lokale maskine, der lytter til og videresender til din fjernservers localhost på port 3306. Nu kan du effektivt oprette forbindelse til fjernbetjeningen serverens MySQL-database, som om den kørte på din lokale boks.

BEMÆRK :Hvis du forsøger at oprette forbindelse til PostgreSQL databaser, brug port 5432 i stedet for 3306.

Nedenfor kan du finde trinene til, hvordan du konfigurerer en tredjeparts SSH-klient (PuTTY) og MacOS og Linux indbygget én (Terminal) .

BEMÆRK :Sørg for, at SSH-adgangen er aktiveret for din konto. Følg gerne denne guide for at kontrollere indstillingerne.

Her er en liste over detaljer, du skal bruge i processen:

SSH-forbindelsesdetaljer :
  • Serverværtsnavn:server168.web-hosting.com
  • Port:21098
  • cPanel-brugernavn:tunneltest
  • cPanel-adgangskode:cpanel_password


Dit serverværtsnavn vil være anderledes for din konto. Du kan tjekke det i din velkomstmail til din hostingplan.

Dit cPanel-brugernavn og -adgangskode er det, du bruger til at logge ind på din cPanel-konto.

Porten bliver det samme for alle Shared Hosting-servere.

MySQL-detaljer på serversiden :
  • Serverværtsnavn:127.0.0.1
  • Port:3306
  • Databasenavn:tunneltest_db
  • Databasebruger:tunneltest_user
  • Databaseadgangskode:db_user_password


Dit serverværtsnavn og -port vil være det samme for alle Shared Hosting-servere.

Dit databasenavn, bruger og adgangskode er det, du har angivet, mens du oprettede databasen i menuen MySQL-databaser. Hvis du ikke er bekendt med denne menu, er du velkommen til at tjekke denne artikel.

Tunneldetaljer :
  • Lokal IP:127.0.0.1
  • Lokal port:5522
  • Fjern IP:127.0.0.1
  • Fjernport:3306


Din lokale IP-adresse og port kan blive ændret i henhold til dine præferencer.

Da nogle af vores kunder kører lokale MySQL-servere på 3306-porten, lad os bruge 5522 port i dette eksempel for at sikre, at den lokale port ikke bruges af nogen tjeneste.

Din eksterne IP-adresse og port skal matche serverens værtsnavn og port fra MySQL-detaljer på serversiden og kan ikke ændres.

MySQL-oplysninger på klientsiden :
  • Serverværtsnavn:127.0.0.1
  • Port:5522
  • Databasenavn:tunneltest_db
  • Databasebruger:tunneltest_user
  • Databaseadgangskode:bCsLHA5xs8AQ


Dette er de adgangsoplysninger, du vil bruge i slutningen af ​​den app eller det websted, du forsøger at oprette forbindelse til databasen eksternt. Dit serverværtsnavn og -port skal matche lokal IP og port fra Tunneldetaljer .

Dit databasenavn, bruger og adgangskode skal matche de tilsvarende værdier fra MySQL-oplysninger på serversiden .



Opret forbindelse med PuTTY
Opret forbindelse til Terminal (til Linux og MacOS)



Opret forbindelse til PuTTY

1. Kør applikationen.
2. Gå til Forbindelse fanebladet 'Data ' og sørg for, at Auto-login brugernavn feltet er tomt (du kan også udfylde dit cPanel-brugernavn der), og 'Prompt ' indstilling er markeret:



3. Gå til Forbindelse>> SSH>> Tunneller sektion og udfyld værdierne nævnt i Tunneldetaljer som følger:
Kildeport =Lokal port
Destination =RemoteIP:RemotePort

Sørg for, at 'Lokal ' tilstand er markeret, og klik derefter på Tilføj :



Når du har gjort dette, bør du se tunnelen i feltet ovenfor:



4. Gå til Session fanen og udfyld værtsnavnet og porten ved hjælp af serverens værtsnavn og port fra dine SSH-forbindelsesoplysninger . Vælg nu et navn til denne forudindstilling, og skriv det i feltet Gemte sessioner. Klik på Gem for at gemme denne konfiguration.



5. Klik nu på Åbn for at oprette forbindelse til serveren.

BEMÆRK :Da du allerede har gemt dine sessionsindstillinger, kan du springe trin 1-4 over næste gang, du ønsker at åbne en SSH-tunnel.

Vælg blot den gemte forudindstilling fra listen, klik på Indlæs og Åbn at bruge det.

6. Når du opretter forbindelse til serveren for første gang, vises en sikkerhedsadvarsel. Klik på Acceptér for at fortsætte.



7. Du vil nu blive bedt om at indtaste dit cPanel-brugernavn og din adgangskode, der findes i dine SSH-forbindelsesoplysninger .

BEMÆRK :Symboler vises ikke i terminalen, når du indtaster adgangskoden. Det er Terminals måde at holde din adgangskode sikker på.

Når adgangskoden er accepteret, vises en serverprompt. SSH-tunnelen er nu etableret, og alle forbindelser til localhost over porten 5522 vil blive videresendt til din hostingkonto.



BEMÆRK :SSH-tunnelen vil fungere, så længe dette vindue er aktivt. Luk IKKE dette vindue, før du er færdig med at arbejde med databasen.

Vi kan nu oprette forbindelse til en database på Shared Hosting-serveren ved hjælp af MySQL-oplysningerne på klientsiden med enhver MySQL-klient. For eksempel:






Opret forbindelse til Terminal (til Linux og MacOS )


1. Kør programmet og indtast følgende kommando:

ssh -f [email protected] -p21098 -L 5522:127.0.0.1:3306 -N

"[email protected] -p21098" udfyldes ved hjælp af SSH-forbindelsesdetaljer :
[cpanel-konto]@[serverværtsnavn] -p[port]

"-L 5522:127.0.0.1:3306" udfyldes ved hjælp af Tunneldetaljer :
[Lokal port]:[Fjern-IP]:[Fjernport]

Den lokale IP-adresse er ikke angivet i dette tilfælde og er som standard 127.0.0.1

2. Tryk på Enter og angiv din cPanel-adgangskode (symboler vises ikke i terminalen, når du indtaster adgangskoden - det er Terminals måde at holde din adgangskode sikker på).

Hvis det er første gang, du opretter forbindelse til denne server, vises følgende prompt:Er du sikker på, at du vil fortsætte med at oprette forbindelse (ja/nej)? Skriv ja og tryk på Enter for at fortsætte.

3. Når du har gjort dette, vil alle forbindelser til localhost over porten 5522 blive videresendt til din hostingkonto. Vi kan nu oprette forbindelse til en database på Shared Hosting-serveren ved hjælp af MySQL-oplysningerne på klientsiden med enhver MySQL-klient.

Her er et eksempel, der bruger en kommandolinje MySQL-klient:

mysql -h 127.0.0.1 -P 5522 tunneltest_db -p -u tunneltest_user

Slutresultatet vil se således ud:





Det var det!
  1. Brug af Max()-funktionen til at vælge gruppeværdier

  2. Ting du skal vide om FND_LOBS Table i Oracle Apps

  3. MySQL Bestil før gruppe efter

  4. Opret dynamisk kolonner sql