sql >> Database >  >> RDS >> Mysql

SQLAlchemy via Paramiko SSH

Voor het geval er iemand is die geïnteresseerd is om verbinding te maken met een externe Postgresql database via SSH en wil gegevens laden in een pandas DataFrame hier is hoe het te doen.

Stel dat we een postgresql-database op een externe server hebben geïnstalleerd, waarnaar we kunnen ssh-en met de volgende parameters.

SSH-parameters:

  • IP van de server:10.0.0.101
  • SSH-poort:22 (standaardpoort voor SSH )
  • Gebruikersnaam:my_username
  • Wachtwoord:my_password

Databaseparameters:

  • Poort:5432 (postgresql standaardpoort )
  • Databasenaam:db
  • Databasegebruiker:postgres_user (standaard gebruikersnaam is postgres )
  • Databasewachtwoord:postgres_pswd (standaard wachtwoord is een lege string )
  • Tabel met onze gegevens:MY_TABLE

Nu willen we aan onze kant verbinding maken met deze database en gegevens in een panda's DataFrame laden:

from sshtunnel import SSHTunnelForwarder
from sqlalchemy import create_engine
import pandas as pd

server = SSHTunnelForwarder(
    ('10.0.0.101', 22),
    ssh_username="my_username",
    ssh_password="my_password",
    remote_bind_address=('127.0.0.1', 5432)
    )

server.start()
local_port = str(server.local_bind_port)
engine = create_engine('postgresql://{}:{}@{}:{}/{}'.format("postgres_user", "postgres_pswd", "127.0.0.1", local_port, "db"))

dataDF = pd.read_sql("SELECT * FROM \"{}\";".format("MY_TABLE"), engine)

server.stop()


  1. Welke impact kunnen verschillende cursoropties hebben?

  2. Hoe maak je eenvoudig CRUD met PHP en MySQL?

  3. mysql - retourneer de eerste kolom eenmaal en alle bijbehorende kolomgegevens

  4. $PATH wordt niet opgeslagen nadat ik de terminal verlaat