sql >> データベース >  >> RDS >> Mysql

ParamikoSSHを介したSQLAlchemy

    リモートのPostgresqlへの接続に興味のある人がいる場合 SSH経由でデータベースを作成し、データを pandas DataFrameにロードしたい これがその方法です。

    次のパラメータでsshできるpostgresqlデータベースをリモートサーバーにインストールしたとします。

    SSHパラメーター:

    • サーバーのIP:10.0.0.101
    • SSHポート:22SSHのデフォルトポート
    • ユーザー名:my_username
    • パスワード:my_password

    データベースパラメータ:

    • ポート:5432postgresqlのデフォルトポート
    • データベース名:db
    • データベースユーザー:postgres_userデフォルトのユーザー名はpostgresです
    • データベースパスワード:postgres_pswdデフォルトのパスワードは空の文字列です
    • データを含むテーブル:MY_TABLE

    次に、このデータベースに接続して、データをpandasDataFrameにロードします。

    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. .NETの文字列の側面

    2. my.iniでcharacter_set_databaseとcollat​​ion_databaseをutf8に設定するにはどうすればよいですか?

    3. Oracle:JMSメッセージを送信するJavaストアドプロシージャ

    4. MariaDBでのCOS()のしくみ