Django mit MySQL connection

Sockets, TCP/IP, (XML-)RPC und ähnliche Themen gehören in dieses Forum
kostonstyle
User
Beiträge: 148
Registriert: Sonntag 2. November 2008, 12:13

Hallo miteinander
habe eine Frage zu Django, wie stelle ich eine Verbindung von Django zu MySQL her? MySQL ist installiert und ist über die Adresse http://127.0.0.1/phpmyadmin zugreifbar. In der Datei settings.py könne man diverse Parameter mitgeben, wie muss ich es füllen

Code: Alles auswählen

DATABASE_ENGINE = 'mysql'           # 'postgresql_psycopg2', 'postgresql', 'mysql', 'sqlite3' or 'oracle'.
DATABASE_NAME = ''             # Or path to database file if using sqlite3.
DATABASE_USER = ''             # Not used with sqlite3.
DATABASE_PASSWORD = ''         # Not used with sqlite3.
DATABASE_HOST = ''             # Set to empty string for localhost. Not used with sqlite3.
DATABASE_PORT = ''             # Set to empty string for default. Not used with sqlite3.
Danke kostonstyle
Dauerbaustelle
User
Beiträge: 996
Registriert: Mittwoch 9. Januar 2008, 13:48

Hm, was will man wohl, dass du bei "DATABASE_USER" einträgst? Na? Genau, den Datenbank-Benutzernamen! Und bei "DATABASE_NAME"? Na? Genau, den Datenbank-Namen! Und bei "DATABASE_PASSWORD"? Na? Genau, das Datenbank-Passwort!

...
nemomuk
User
Beiträge: 862
Registriert: Dienstag 6. November 2007, 21:49

Das schwierige dabei ist jetzt aber nur bei DATABASE_HOST nicht "http://127.0.0.1/phpmyadmin" einzutragen, sondern "127.0.0.1", weil PHPMyAdmin und nicht MySQL über diese Adresse verfügbar ist (wenn ich das mal so hineininterpretieren darf).
ms4py
User
Beiträge: 1178
Registriert: Montag 19. Januar 2009, 09:37

SchneiderWeisse hat geschrieben:Das schwierige dabei ist jetzt aber nur bei DATABASE_HOST nicht "http://127.0.0.1/phpmyadmin" einzutragen, sondern "127.0.0.1", weil PHPMyAdmin und nicht MySQL über diese Adresse verfügbar ist (wenn ich das mal so hineininterpretieren darf).

Code: Alles auswählen

DATABASE_HOST = ''             # Set to empty string for localhost. Not used with sqlite3. 
==> Bei Host muss er gar nichts eintragen, kann er so lassen!
nemomuk
User
Beiträge: 862
Registriert: Dienstag 6. November 2007, 21:49

Ist aber auch nicht schlimm, wenn ers einträgt...;)
Dauerbaustelle
User
Beiträge: 996
Registriert: Mittwoch 9. Januar 2008, 13:48

SchneiderWeisse hat geschrieben:Das schwierige dabei ist jetzt aber nur bei DATABASE_HOST nicht "http://127.0.0.1/phpmyadmin" einzutragen, sondern "127.0.0.1", weil PHPMyAdmin und nicht MySQL über diese Adresse verfügbar ist (wenn ich das mal so hineininterpretieren darf).
Hä, war das Sarkasmus? Ich habs nicht verstanden.
apollo13
User
Beiträge: 827
Registriert: Samstag 5. Februar 2005, 17:53

ice2k3 hat geschrieben:==> Bei Host muss er gar nichts eintragen, kann er so lassen!
Nunja nicht immer, man sollte wissen, dass localhost != 127.0.0.1 ist. Wenn er sockets will ist localhost okay für tcp sollte man dann doch 127.0.0.1 verwenden.
kostonstyle
User
Beiträge: 148
Registriert: Sonntag 2. November 2008, 12:13

Folgendes habe ich in settings.py eingetragen

Code: Alles auswählen

DATABASE_ENGINE = 'mysql'           # 'postgresql_psycopg2', 'postgresql', 'mysql', 'sqlite3' or 'oracle'.
DATABASE_NAME = 'test'             # Or path to database file if using sqlite3.
DATABASE_USER = 'root'             # Not used with sqlite3.
DATABASE_PASSWORD = ''         # Not used with sqlite3.
DATABASE_HOST = '127.0.0.1'             # Set to empty string for localhost. Not used with sqlite3.
DATABASE_PORT = ''             # Set to empty string for default. Not used with sqlite3.
bei der Ausführung von runserver erhalte ich folgende Meldung

Code: Alles auswählen

Develops-MacBook-Pro:web develop$ python manage.py runserver
Validating models...
Unhandled exception in thread started by <function inner_run at 0x10111c488>
Traceback (most recent call last):
  File "/Library/Python/2.6/site-packages/django/core/management/commands/runserver.py", line 48, in inner_run
    self.validate(display_num_errors=True)
  File "/Library/Python/2.6/site-packages/django/core/management/base.py", line 249, in validate
    num_errors = get_validation_errors(s, app)
  File "/Library/Python/2.6/site-packages/django/core/management/validation.py", line 22, in get_validation_errors
    from django.db import models, connection
  File "/Library/Python/2.6/site-packages/django/db/__init__.py", line 41, in <module>
    backend = load_backend(settings.DATABASE_ENGINE)
  File "/Library/Python/2.6/site-packages/django/db/__init__.py", line 17, in load_backend
    return import_module('.base', 'django.db.backends.%s' % backend_name)
  File "/Library/Python/2.6/site-packages/django/utils/importlib.py", line 35, in import_module
    __import__(name)
  File "/Library/Python/2.6/site-packages/django/db/backends/mysql/base.py", line 13, in <module>
    raise ImproperlyConfigured("Error loading MySQLdb module: %s" % e)
django.core.exceptions.ImproperlyConfigured: Error loading MySQLdb module: No module named MySQLdb
vielleicht muss ich es noch erwähnen, ich verwende mysql mit xampp, also xampp Paket ist auf mein mac installiert.
Zuletzt geändert von kostonstyle am Sonntag 4. Oktober 2009, 18:41, insgesamt 1-mal geändert.
Dauerbaustelle
User
Beiträge: 996
Registriert: Mittwoch 9. Januar 2008, 13:48

"No module named MySQLdb "

Worauf könnte das wohl hinweisen?
kostonstyle
User
Beiträge: 148
Registriert: Sonntag 2. November 2008, 12:13

das Modul MySQLdb muss ich noch installieren. werde mich im internet recherchieren. Wo kann man es herunterladen.
kostonstyle
User
Beiträge: 148
Registriert: Sonntag 2. November 2008, 12:13

habe nun das modul heruntergeladen, bei der Installation sind folgende Meldungen aufgetreten.

Code: Alles auswählen

Develops-MacBook-Pro:MySQL-python-1.2.3c1 develop$ python setup.py build
sh: mysql_config: command not found
Traceback (most recent call last):
  File "setup.py", line 15, in <module>
    metadata, options = get_config()
  File "/Users/develop/Desktop/MySQL-python-1.2.3c1/setup_posix.py", line 43, in get_config
    libs = mysql_config("libs_r")
  File "/Users/develop/Desktop/MySQL-python-1.2.3c1/setup_posix.py", line 24, in mysql_config
    raise EnvironmentError("%s not found" % (mysql_config.path,))
EnvironmentError: mysql_config not found
kostonstyle
User
Beiträge: 148
Registriert: Sonntag 2. November 2008, 12:13

ich denke der Fehler liegt bei der Datei site.cfg. Was muss ich dir genau eintragen für mein mac.

Code: Alles auswählen

# The path to mysql_config.
# Only use this if mysql_config is not on your PATH, or you have some weird
# setup that requires it.
#mysql_config = /usr/local/bin/mysql_config

# The Windows registry key for MySQL.
# This has to be set for Windows builds to work.
# Only change this if you have a different version.
registry_key = SOFTWARE\MySQL AB\MySQL Server 5.0
apollo13
User
Beiträge: 827
Registriert: Samstag 5. Februar 2005, 17:53

gar nichts, die Datei passt so, du willst allerdings das mitgelieferte README durchlesen
kostonstyle
User
Beiträge: 148
Registriert: Sonntag 2. November 2008, 12:13

habe README nun ausführlich gelesen, aber erhalte immer noch diese Fehlermeldung, wenn ich MYSQL installieren möchte.

Code: Alles auswählen

sh: mysql_config: command not found
Traceback (most recent call last):
  File "setup.py", line 15, in <module>
    metadata, options = get_config()
  File "/Users/develop/Desktop/MySQL-python-1.2.3c1/setup_posix.py", line 43, in get_config
    libs = mysql_config("libs_r")
  File "/Users/develop/Desktop/MySQL-python-1.2.3c1/setup_posix.py", line 24, in mysql_config
    raise EnvironmentError("%s not found" % (mysql_config.path,))
EnvironmentError: mysql_config not found
ich glaube mir fehlt ein Datei, mysql_config....
Gruss kostonstyle
kostonstyle
User
Beiträge: 148
Registriert: Sonntag 2. November 2008, 12:13

habe im internet folgende anleitung gefunden.
habe im datei setup_posix.py folgendes geändert.

Code: Alles auswählen

#mysql_config.path = "mysql_config"
mysql_config.path = "/usr/local/mysql/bin/mysql_config"
aber leider funktioniert die installation immer noch nicht.
apollo13
User
Beiträge: 827
Registriert: Samstag 5. Februar 2005, 17:53

Wie gesagt die datei passt so und du sollst sie __nicht__ ändern. Du willst deinen Paketmanager verwenden um das Paket, dass mysql_config enthält zu installieren…

EDIT:// Sry, ich hatte versehentlich angenommen, dass du ein Linux verwendest, dem ist allerdings scheinbar nicht so ;) Schau mal ob dir hier wo geholfen wird: http://www.google.at/search?hl=de&q=ins ... =&aq=f&oq= Grundsätzlich brauchst du das dev paket von Mysql, dort ist mysql_config dabei…

EDIT2:// Schau mal ob im xampp installationsordner irgendwo ne mysql_config rumfliegt, wenn nicht solltest du mysql vlt mal richtig installieren…
kostonstyle
User
Beiträge: 148
Registriert: Sonntag 2. November 2008, 12:13

mein system ist mac. xampp habe ich installiert, irgendwie muss ich eine verbindung zu mysql von xampp paket herstellen, die frage ist eben wie?
apollo13
User
Beiträge: 827
Registriert: Samstag 5. Februar 2005, 17:53

Wenn wir von dem: http://www.apachefriends.org/en/xampp.html reden und dort kein mysql_config drin ist, dann gar nicht… Wie gesagt installier MySQL (inklusive der dev version für den Client) normal über deinen Paketmanager (nen mac hat doch sowas oder?)
Leonidas
Python-Forum Veteran
Beiträge: 16025
Registriert: Freitag 20. Juni 2003, 16:30
Kontaktdaten:

apollo13 hat geschrieben:(nen mac hat doch sowas oder?)
Nein. Es gibt fink und MacPorts, aber die sind nicht Standard, so wie APT oder FreeBSD Ports auf anderen Unix-Systemen.
My god, it's full of CARs! | Leonidasvoice vs (former) Modvoice
nemomuk
User
Beiträge: 862
Registriert: Dienstag 6. November 2007, 21:49

Wobei ich sagen muss, dass MacPorts nicht gerade das gelbe vom Ei ist, da installier ich mir die Sachen lieber selbst.

MySQL existiert für Mac und lässt sich komfortabel installieren, habe dazu auch schonmal eine Anleitung geschrieben: http://www.icoost.com/programmiersprach ... tallieren/
Antworten