万年素人からHackerへの道

万年素人がHackerになれるまで殴り書きするぜ。

  • ・寄付お願いします
    YENTEN:YYzNPzdsZWqr5THWAdMrKDj7GT8ietDc2W
    BitZenny:ZfpUbVya8MWQkjjGJMjA7P9pPkqaLnwPWH
    c0ban:8KG95GXdEquNpPW8xJAJf7nn5kbimQ5wj1

pythonanywhereでMySQLをDjangoで使う

pythonanywhere: https://www.pythonanywhere.com/
このサービスにはMySQLも使えるが、設定が面倒。
一応ドキュメントが有る: https://www.pythonanywhere.com/wiki/DjangoTutorial
you'll need the database name, password, and hostとしか書かれてない!!
「Databases」タブの画面

このページで設定したものを入れる。
setting.py

DATABASES = {
     'default': {
         'ENGINE': 'django.db.backends.mysql', # Add 'postgresql_psycopg2', 'postgresql', 'mysql', 'sqlite3' or 'oracle'.
         'NAME': 'shinriyo$databasename',                                                                                                                
         'USER': 'shinriyo',                      # sqlite3では使わないが、MySQLでは使う。さっきのページのユーザ名
         'PASSWORD': 'password',            # sqlite3では使わないが、MySQLでは使う。さっき設定したパスワード
         'HOST': 'mysql.server',                      # sqllite3ではいらないが、これ使う
         #'PORT': '3360',                      # おそらく使わない。
     }
}

のように設定する。
データベース名は「ユーザ名$データベース名」になるのに注意!

あとは先ほどの「Databases」タブの画面でdatabasenameを実際に用意するのを忘れず!


HOSTをlocalhostとか127.0.0.1とかにして動かない。 'HOST': 'mysql.server'にする。
PORTは3360かと思ったがよくわからない。

ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock' (2)

なるエラーが出たりハマりました。