sql >> データベース >  >> RDS >> Mysql

Pythonでデータベース接続をインポートする

    可能ですが、少なくとも2つの理由から、コードとデータ(構成、HTMLなど)を混在させることはお勧めできません。

    • デザイン-いわゆる高結合になります 。依存関係が多く、追跡が難しく、アプリの変更がますます困難になる状況。
    • セキュリティ-あなたの資格情報は遅かれ早かれ、コードバックアップアーカイブまたはリポジトリに保存されます。設定ファイルはさらに暗号化できますが、pyファイルは実際には暗号化されません。 Webアプリの場合は、単一の構成ファイルへのアクセスを制限する方が、機密データを含む可能性のあるすべてのpyファイルに制限する方が簡単です。

    この個別の使いやすい接続処理機能を引き続き作成できます。ただし、接続資格情報を別の構成ファイルに移動してください。

    config.ini:

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

    接続pyファイルの構成を読み取るか、よりグローバルにすることができます(つまり、シングルトン?)。接続ファイルの構成を読み取りたい場合:

    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'])
    

    使用例:

    import storage
    
    conn = storage.connect()
    


    1. 文字列に特殊文字が含まれているかどうかを検出するにはどうすればよいですか?

    2. Nodejsは、私が期待することを行わないことを表明し、約束します

    3. MySQL-インデックスを作成するのにどのくらいかかりますか?

    4. MySQLとPHP:複数のキーワード検索