Mysql
 sql >> Baza danych >  >> RDS >> Mysql

Łączenie się z MySQL na zdalnym serwerze z Pythona

Po uruchomieniu mysql polecenie, robisz to w powłoce SSH. Oznacza to, że łączysz się z serwerem działającym na zdalnej maszynie przez localhost połączenie. Ten zdalny serwer nie wydaje się być skonfigurowany do zezwalania na zdalne połączenia z nim, tylko połączenia z samej maszyny.

Musisz mieć swój skrypt w Pythonie, aby połączyć się z serwerem MySQL w ten sam sposób, przez SSH. Możesz otworzyć tunel SSH do portu 3306 na zdalnym serwerze.

Moduł, którego lubię używać w tym celu to:https://pypi.python.org/pypi/ tunel

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. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Nie można połączyć kontenera MySQL z kontenerem Tomcat w docker

  2. Mysql - Grupuj według miesiąca w formacie Y-m-d

  3. Lepszy sposób na wybranie wszystkich kolumn z pierwszej tabeli i tylko jednej kolumny z drugiej tabeli na sprzężeniu wewnętrznym

  4. PHP PDO i MySQLi

  5. Przełącz bazę danych w puli połączeń w nodejs MySQL