Mysql
 sql >> база данни >  >> RDS >> Mysql

Свързване с MySQL в отдалечен сървър от python

Когато стартирате mysql команда, правите това в SSH обвивка. Това означава, че се свързвате със сървъра, работещ на отдалечената машина чрез localhost Връзка. Този отдалечен сървър изглежда не е настроен да позволява отдалечени връзки към него, а само връзки от самата машина.

Ще трябва вашият python скрипт да се свърже с MySQL сървъра по същия начин, по който сте, чрез SSH. Можете да отворите SSH тунел към порт 3306 на отдалечения сървър.

Модулът, който обичам да използвам за тази цел е: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. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Колона с по-висока мощност първа в индекс, когато включва диапазон?

  2. Попълнете конкретни колони в datagridview от MySQL данни VB.NET

  3. Как да изчислим процента?

  4. Вмъкване и извличане на данни в MySQL с помощта на PHP чрез Ajax

  5. Има ли възможност ANY_VALUE за mysql 5.6?