4

XAMPPを介してMySQLを実行しており、Python用のMySQLdbもインストールしました。ただし、XAMPP の MySQL for Python を使用する方法がわかりません。実行するたびにpython manage.py runserverエラーが表示されます:

..2.4c1-py2.7-win32.egg.tmp\MySQLdb\connections.py", line 187, in __init__ _mysql_exceptions.OperationalError: (2003, "Can't connect to MySQL server on 'localhost' (10061)")

私はPythonが初めてで、これらはsettings.pyファイル内の設定です:

DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.mysql', # Add 'postgresql_psycopg2', 'mysql', 'sqlite3' or 'oracle'.
        'NAME': 'tester',                      # Or path to database file if using sqlite3.
        'USER': 'root',                      # Not used with sqlite3.
        'PASSWORD': 'password',                  # Not used with sqlite3.
        'HOST': '',                      # Set to empty string for localhost. Not used with sqlite3.
        'PORT': '',                      # Set to empty string for default. Not used with sqlite3.
    }
}

を使用してDjangoいます。MySQL の代わりに SQLite3 を使用すると、問題なく動作します。しかし、MySQL を使用したかったのです。

編集#1

MySQL はポートを使用しています: 3306。それらを機能させるにはどうすればよいですか?

4

3 に答える 3

7

5〜6時間試した後、ようやく機能しました。

DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.mysql', # Add 'postgresql_psycopg2', 'mysql', 'sqlite3' or 'oracle'.
        'NAME': 'tester',                      # Or path to database file if using sqlite3.
        'USER': 'root',                      # Not used with sqlite3.
        'PASSWORD': 'password',                  # Not used with sqlite3.
        'HOST': '127.0.0.1',                      # Set to empty string for localhost. Not used with sqlite3.
        'PORT': '3306',                      # Set to empty string for default. Not used with sqlite3.
    }
}

cmd:python manage.py runserverでコマンドを実行し、Web ページを開きます。

于 2012-12-20T11:57:05.983 に答える
2

mysql はデフォルトのポートを 3306 として使用するため、ポートを確認できますか (手動で変更しない場合)

于 2012-12-20T09:45:17.097 に答える
2

ほとんどの場合、mysql が実行されているポートを追加する必要があります。これは、xampp が mysql を標準の 3306 以外のポートに設定した可能性があります。

djangoの外部でmysqlに接続できますか?

xampp ディレクトリ内に mysql.exe ファイルがあるはずです。ターミナルからそのディレクトリに移動し、 mysql.exe -uroot -p を実行した場合。パスワードを追加します。ほとんどの場合、空白のパスワードです。

于 2012-12-20T09:45:25.900 に答える