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

importovat připojení k databázi s pythonem

Je to možné, ale není to dobrý nápad míchat kód a data (jakéhokoli druhu – konfigurace, HTML atd.), a to minimálně ze dvou důvodů:

  • Design – skončíte u takzvané vysoké spojky . Situace, kdy existuje mnoho závislostí, je těžké je sledovat a vaši aplikaci je stále obtížnější upravit.
  • Zabezpečení – vaše přihlašovací údaje dříve nebo později skončí v nějakém záložním archivu kódu nebo úložišti. Konfigurační soubor může být navíc zašifrován, py soubor ve skutečnosti ne. Pokud se jedná o webovou aplikaci, je snazší omezit přístup k jednomu konfiguračnímu souboru než ke všem souborům py, které mohou obsahovat citlivá data.

Stále můžete vytvořit tuto samostatnou, snadno použitelnou funkci pro manipulaci s připojením. Přesuňte však přihlašovací údaje pro připojení do samostatného konfiguračního souboru.

config.ini:

[mysqlDB]
host = '0.0.0.0'
db = 'test'
user = 'root'
pass = 'pswd'

Konfiguraci si můžete přečíst v souboru py připojení nebo ji udělat globálnější (tj. singleton?). Pokud si chcete přečíst konfiguraci v souboru připojení:

storage.py:

import configparser
import MySQLdb.cursors

config = configparser.ConfigParser()
config.read('config.ini')

def connect():
    return MySQLdb.connect(host = config['mysqlDB']['host'],
                           user = config['mysqlDB']['user'],
                           passwd = config['mysqlDB']['pass'],
                           db = config['mysqlDB']['db'])

Příklad použití:

import storage

conn = storage.connect()


  1. Nasazení MySQL, MariaDB, Percona Server, MongoDB nebo PostgreSQL – snadné s ClusterControl

  2. Jak ukládat telefonní čísla do databází MySQL?

  3. django.db.utils.OperationalError Nelze se připojit k serveru

  4. jak uniknout speciálním znakům v připojovacím řetězci mysql jdbc