Holen Sie sich Daten von VPS MySQL mit Python 3 und SQL Alchemy

Es ist eine Methode für. Wenn Sie nur die Schlussfolgerung schreiben,

from sshtunnel import SSHTunnelForwarder

Es kann alles sein. Aber ich vergesse es jedes Mal.

Einstellungsbeispiel

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

URL = "{connector}://{user}:{password}@{host}:{port}/{db}?charset=utf8".format(
    connector='mysql+mysqlconnector',
    user='VPS MySQL-Benutzername',
    password='VPS MySQL Passwort',
    host='localhost',
    port='3307',
    db='DB-Name, den Sie verwenden möchten')

SSH_INFO = {
    'ssh_host': 'hoge.sakura.ne.jp',  #IP-Direkttreffer ist OK
    'ssh_port': 22,  #Port, der normalerweise für die SSH-Verbindung verwendet wird
    'ssh_username': 'SSH-Benutzername',
    'ssh_pkey': os.path.expanduser('~/.ssh/id_rsa'),  #Pfad zum privaten Schlüssel
    'remote_bind_port': 3306,  #Fernbedienung 3306
    'local_bind_port': 3307,  #Zum lokalen Port 3307
}

engine = create_engine(URL)


def with_ssh(func):
    def ssh_func(*args, **kwargs):
        with SSHTunnelForwarder(
            (SSH_INFO['ssh_host'], SSH_INFO['ssh_port']),
            ssh_username=SSH_INFO['ssh_username'],
            ssh_pkey=SSH_INFO['ssh_pkey'],
            remote_bind_address=('localhost', SSH_INFO['remote_bind_port']),
            local_bind_address=('localhost', SSH_INFO['local_bind_port']),
        ):
            return func(*args, **kwargs)
    return ssh_func


@with_ssh
def read_remote_sql(query):
    df = pd.read_sql(query, engine)
    return df


read_remote_sql('select * from {}'.format('t_piyo'))

Recommended Posts

Holen Sie sich Daten von VPS MySQL mit Python 3 und SQL Alchemy
Hinweise zum Importieren von Daten aus MySQL oder CSV mit Python
Empfangen Sie Textdaten von MySQL mit Python
[Hinweis] Mit Python Daten von PostgreSQL abrufen
Ein Memo mit Python2.7 und Python3 in CentOS
Folium: Visualisieren Sie Daten auf einer Karte mit Python
Extrahieren Sie mit Python Daten von einer Webseite
Machen Sie mit Python einen Entscheidungsbaum von 0 und verstehen Sie ihn (4. Datenstruktur)
Holen Sie sich Finanzdaten mit Python (dann ein wenig basteln)
Holen Sie sich Youtube-Daten mit Python
Erstellen Sie mit Docker auf RaspberryPi3 eine Python + Flasche + MySQL-Umgebung! [Versuch und Irrtum]
Erhalten Sie Kommentare auf Youtube Live mit [Python] und [Pytchat]!
Erhalten Sie E-Mails von Google Mail und beschriften Sie sie mit Python3
Abrufen von Daten aus der Datenbank über ODBC mit Python (Access)
Holen Sie sich mit Python eine große Menge von Starbas Twitter-Daten und probieren Sie die Datenanalyse Teil 1 aus
[CGI] Führen Sie das Server-Python-Programm mit Vue.js + axios aus und rufen Sie die Ausgabedaten ab
Ein Memo, das mit Python & Spark Daten aus dashDB liest
Befreien Sie sich mit Python und regulären Ausdrücken von schmutzigen Daten
Hasch mit Python und entkomme dem Ego eines bestimmten Ministers
Abrufen von Daten aus der Analyse-API mit Google API Client für Python
Sammeln von Informationen von Twitter mit Python (Integration von MySQL und Python)
Holen Sie sich zusätzliche Daten zu LDAP mit Python (Writer und Reader)
Holen Sie sich die passende Zeichenfolge in den regulären Ausdruck und verwenden Sie sie beim Ersetzen unter Python3 erneut
Erstellen Sie mit Python einen Entscheidungsbaum aus 0 und verstehen Sie ihn (3. Datenanalysebibliothek Pandas Edition)
[Python / Ruby] Mit Code verstehen Wie man Daten aus dem Internet abruft und in CSV schreibt
Erstellen Sie eine 64-Bit-Python 2.7-Umgebung mit TDM-GCC und MinGW-w64 unter Windows 7
Verwenden Sie ScraperWiki, um regelmäßig Daten von Ihrer Website abzurufen
Holen Sie sich OCTA-Simulationsbedingungen aus einer Datei und speichern Sie sie mit Pandas
Holen Sie sich mit Python zusätzliche Daten zu LDAP
Holen Sie sich HTML von Element mit Python-Selen
Kartenmietinformationen auf einer Karte mit Python
Herstellen einer Verbindung von Python zu MySQL unter CentOS 6.4
Lassen Sie uns MySQL-Daten mit Python bearbeiten
Holen Sie sich mit pyVISA Daten von einem Oszilloskop
2. Erstellen Sie mit Python einen Entscheidungsbaum von 0 und verstehen Sie ihn (2. Grundlagen des Python-Programms)
[Data Science-Grundlagen] Ich habe versucht, mit Python von CSV auf MySQL zu speichern
Erstellen Sie mit Docker auf RaspberryPi3 eine Python + Flasche + MySQL-Umgebung! [Einfache Konstruktion]
Datenintegration von der Python-App unter Linux zu Amazon Redshift mit ODBC
Setzen Sie cron unter Ubuntu 16.04 (Sakura VPS) von 1 und führen Sie das Python-Programm regelmäßig aus
[Persönliches Memo] Holen Sie sich Daten im Web und machen Sie daraus einen DataFrame
Ich erhalte einen UnicodeDecodeError, wenn ich versuche, mit Python sqlalchemy eine Verbindung zu Oracle herzustellen
Senden und Empfangen von Binärdaten über serielle Kommunikation mit Python3 (auf Mac)
Datenintegration von der Python-App unter Windows zu Amazon Redshift mit ODBC
Erstellen Sie eine Python3-Umgebung mit pyenv auf einem Mac und zeigen Sie NetworkX-Diagramme an
Erstellen Sie mit Python einen Entscheidungsbaum von 0 und verstehen Sie ihn (5. Information Entropy)
Installieren Sie Chrome in der Befehlszeile von Sakura VPS (Ubuntu) und starten Sie Chrome mit Python über das virtuelle Display und Selen
[Python] Eine Dateninfrastruktur zum Erfassen und Veröffentlichen von Tweets von der Twitter-API in BigQuery wurde auf GCP aufgebaut (mit negativer / positiver Bewertung).
Holen Sie sich mit Python Zeitreihendaten von k-db.com
[Python] Holen Sie sich die Dateien mit Python in den Ordner
Holen Sie sich ein Ticket für einen Themenpark mit Python
Erstellen einer Python-Umgebung mit virtualenv und direnv
Erstellen Sie eine Python-Umgebung mit ansible auf centos6
Installieren Sie OpenCV 4.0 und Python 3.7 unter Windows 10 mit Anaconda
[Python] Lesen von Daten aus CIFAR-10 und CIFAR-100
Holen Sie sich Aktienkursdaten mit Quandl API [Python]
Ich habe versucht, CloudWatch-Daten mit Python abzurufen
Holen Sie sich den Git-Zweignamen und den Tag-Namen mit Python
Eine Geschichte über den Umgang mit Binärdaten in Python