sql >> Database >  >> RDS >> Mysql

Verbinding maken met MySQL in een externe server vanuit python

Wanneer u de mysql . uitvoert commando, doe je dit in een SSH-shell. Dat wil zeggen dat u verbinding maakt met de server die op de externe machine draait via een localhost verbinding. Die externe server lijkt niet te zijn ingesteld om externe verbindingen toe te staan, alleen verbindingen vanaf de machine zelf.

U moet uw python-script via SSH op dezelfde manier met de MySQL-server verbinden als u bent. U kunt een SSH-tunnel openen naar poort 3306 op de externe server.

De module die ik hiervoor graag gebruik is: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. hoe kan ik meer dan twee kolommen samenvoegen in plsql developer?

  2. MySql - krijg resterende dagen

  3. Lightswitch staat het toevoegen of wijzigen van records in MySQL niet toe

  4. Hoe importeer ik een .dmp-bestand (Oracle) in MySql DB?