sql >> Databáze >  >> RDS >> Mysql

Připojení k MySQL na vzdáleném serveru z pythonu

Když spustíte mysql příkaz, děláte to v shellu SSH. To znamená, že se připojujete k serveru běžícímu na vzdáleném počítači přes localhost spojení. Zdá se, že tento vzdálený server není nastaven tak, aby k němu umožňoval vzdálená připojení, pouze připojení ze samotného počítače.

Budete potřebovat, aby se váš python skript připojil k serveru MySQL stejným způsobem jako vy, přes SSH. Můžete otevřít tunel SSH na port 3306 na vzdáleném serveru.

Modul, který pro tento účel rád používám, je:https://pypi.python.org/pypi/ sshtunnel

from sshtunnel import SSHTunnelForwarder
import pymysql

server = SSHTunnelForwarder(
    'XXX.XXX.XXX.XXX',
    ssh_username='root',
    ssh_password='my_server_password',
    remote_bind_address=('127.0.0.1', 3306)
)
server.start()

cnx = pymysql.connect(
    host='127.0.0.1',
    port=server.local_bind_port,
    user='root',
    password='my_database_password',
    db='my_database'
)

# Make sure to call server.stop() when you want to disconnect
# after calling cnx.close()


  1. Seznam povolených rozsahů IP adres pomocí cPanel

  2. sql odstranit všechny řádky starší než 30 dní

  3. Implementace hashovací funkce MySQL

  4. Nedokážu přijít na to, jak získat data z MySql Query