sql >> Database teknologi >  >> RDS >> Mysql

Indstilling af Django til at bruge MySQL

MySQL-understøttelse er let at tilføje. I dine DATABASES ordbog, vil du have en post som denne:

DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.mysql', 
        'NAME': 'DB_NAME',
        'USER': 'DB_USER',
        'PASSWORD': 'DB_PASSWORD',
        'HOST': 'localhost',   # Or an IP Address that your DB is hosted on
        'PORT': '3306',
    }
}
 

Du har også mulighed for at bruge MySQL optionsfiler , fra og med Django 1.7. Du kan opnå dette ved at indstille dine DATABASES array som sådan:

DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.mysql',
        'OPTIONS': {
            'read_default_file': '/path/to/my.cnf',
        },
    }
}
 

Du skal også oprette /path/to/my.cnf fil med lignende indstillinger fra oven

[client]
database = DB_NAME
host = localhost
user = DB_USER
password = DB_PASSWORD
default-character-set = utf8
 

Med denne nye metode til tilslutning i Django 1.7 er det vigtigt at vide, at ordreforbindelserne er etableret:

1. OPTIONS. 2. NAME, USER, PASSWORD, HOST, PORT 3. MySQL option files.

Med andre ord, hvis du indstiller navnet på databasen i OPTIONS, vil dette have forrang frem for NAME, som ville tilsidesætte alt i en MySQL-optionsfil.

Hvis du bare tester din applikation på din lokale maskine, kan du bruge

python manage.py runserver
 

Tilføjelse af ip:port argument giver andre maskiner end din egen adgang til din udviklingsapplikation. Når du er klar til at implementere din applikation, anbefaler jeg, at du tager et kig på kapitlet om implementering Djangodjangobook

Mysql standardtegnsæt er ofte ikke utf-8, så sørg for at oprette din database ved hjælp af denne sql:

CREATE DATABASE mydatabase CHARACTER SET utf8 COLLATE utf8_bin
 

Hvis du bruger Oracles MySQL-stik din ENGINE linje skal se sådan ud:

'ENGINE': 'mysql.connector.django',
 

Bemærk, at du først skal installere mysql på dit operativsystem.

brew install mysql (MacOS)
 

MySQL-klientpakken er også ændret for python 3 (MySQL-Client virker kun for python 2)

pip3 install mysqlclient
 


  1. Metoden org.postgresql.jdbc4.Jdbc4Connection.isValid(int) er endnu ikke implementeret

  2. Postgres SSL SYSCALL fejl:EOF opdaget med python og psycopg

  3. SQLRecoverableException:I/O-undtagelse:Forbindelsesnulstilling

  4. Opdateringer til PostgreSQL-testværktøjer med benchmark-arkiv