Obtenez des données de VPS MySQL avec Python 3 et SQL Alchemy

C'est une méthode pour. Si vous n'écrivez que la conclusion,

from sshtunnel import SSHTunnelForwarder

Cela peut être n'importe quoi. Mais je l'oublie à chaque fois.

Exemple de réglage

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='Nom d'utilisateur VPS Mysql',
    password='Mot de passe VPS MySQL',
    host='localhost',
    port='3307',
    db='Nom de la base de données que vous souhaitez utiliser')

SSH_INFO = {
    'ssh_host': 'hoge.sakura.ne.jp',  #La frappe directe IP est OK
    'ssh_port': 22,  #Port généralement utilisé pour la connexion SSH
    'ssh_username': 'Nom d'utilisateur SSH',
    'ssh_pkey': os.path.expanduser('~/.ssh/id_rsa'),  #Chemin vers la clé privée
    'remote_bind_port': 3306,  #télécommande 3306
    'local_bind_port': 3307,  #Vers le port local 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

Obtenez des données de VPS MySQL avec Python 3 et SQL Alchemy
Remarques sur l'importation de données depuis MySQL ou CSV avec Python
Recevoir des données textuelles de mysql avec python
[Note] Obtenir des données de PostgreSQL avec Python
Un mémo contenant Python2.7 et Python3 dans CentOS
Folium: Visualisez les données sur une carte avec Python
Extraire des données d'une page Web avec Python
Créez un arbre de décision à partir de 0 avec Python et comprenez-le (4. Structure des données)
Obtenez des données financières avec python (puis un peu de bricolage)
Obtenez des données Youtube avec python
Construisez un environnement Python + bouteille + MySQL avec Docker sur RaspberryPi3! [Essai et erreur]
Obtenez des commentaires sur youtube Live avec [python] et [pytchat]!
Recevoir des e-mails de Gmail et étiqueter avec Python3
Obtenir des données de la base de données via ODBC avec Python (Access)
Obtenez une grande quantité de données Twitter de Starba avec python et essayez l'analyse de données Partie 1
[CGI] Exécutez le programme Python du serveur avec Vue.js + axios et obtenez les données de sortie
Un mémo qui lit les données de dashDB avec Python et Spark
Débarrassez-vous des données sales avec Python et les expressions régulières
Hash avec python et échapper à l'égosa d'un certain ministre
Obtenez des données de l'API d'analyse avec le client API Google pour python
Collecte d'informations sur Twitter avec Python (intégration de MySQL et Python)
Obtenez des données supplémentaires vers LDAP avec python (Writer et Reader)
Obtenir des données de Quandl en Python
Récupérez la chaîne correspondante dans l'expression régulière et réutilisez-la lors du remplacement sur Python3
Créez un arbre de décision à partir de zéro avec Python et comprenez-le (3. Bibliothèque d'analyse de données édition Pandas)
[Python / Ruby] Comprendre le code Comment obtenir des données en ligne et les écrire au format CSV
Créez un environnement Python 2.7 64 bits avec TDM-GCC et MinGW-w64 sous Windows 7
Utilisez ScraperWiki pour obtenir régulièrement des données de votre site Web
Obtenez les conditions de simulation OCTA à partir d'un fichier et enregistrez avec les pandas
Obtenez des données supplémentaires vers LDAP avec python
Obtenir le code HTML de l'élément avec du sélénium Python
Carte des informations de location sur une carte avec python
Connexion de python à MySQL sur CentOS 6.4
Faisons la manipulation des données MySQL avec Python
Obtenez des données d'un oscilloscope avec pyVISA
2.Faites un arbre de décision à partir de 0 avec Python et comprenez-le (2. Bases du programme Python)
[Bases de la science des données] J'ai essayé d'enregistrer de csv à mysql avec python
Construisez un environnement Python + bouteille + MySQL avec Docker sur RaspberryPi3! [Construction facile]
Intégration de données depuis l'application Python sur Linux vers Amazon Redshift avec ODBC
Définissez cron à partir de 1 sur Ubuntu 16.04 (Sakura VPS) et exécutez régulièrement le programme python
[Mémo personnel] Obtenez des données sur le Web et faites-en un DataFrame
J'obtiens un UnicodeDecodeError en essayant de me connecter à oracle avec python sqlalchemy
Envoyer et recevoir des données binaires via une communication série avec python3 (sur Mac)
Intégration de données depuis l'application Python sur Windows vers Amazon Redshift avec ODBC
Créez un environnement Python 3 avec pyenv sur Mac et affichez des graphiques Network X
Créez un arbre de décision à partir de 0 avec Python et comprenez-le (5. Entropie des informations)
Installez Chrome en ligne de commande sur Sakura VPS (Ubuntu) et lancez Chrome avec python à partir de l'affichage virtuel et du sélénium
[Python] Une infrastructure de données permettant d'acquérir et de publier des tweets de l'API Twitter vers BigQuery a été conçue sur GCP (avec un score négatif / positif)
Obtenez des données de séries chronologiques de k-db.com avec Python
[Python] Récupérez les fichiers dans le dossier avec Python
Obtenez un billet pour un parc à thème avec python
Construire un environnement python avec virtualenv et direnv
Créez un environnement python avec ansible sur centos6
Installez OpenCV 4.0 et Python 3.7 sur Windows 10 avec Anaconda
[Python] Comment lire les données de CIFAR-10 et CIFAR-100
Obtenez des données sur le cours de l'action avec l'API Quandl [Python]
J'ai essayé d'obtenir des données CloudWatch avec Python
Obtenez le nom de la branche git et le nom de la balise avec python
Une histoire sur la gestion des données binaires en Python