私はPythonAnywhereで自分のWebサイトをホスティングしています。Workbenchを使用してDjangoをリモートMySQLデータベースに接続
サービス上に2つのデータベース:myusername$production
とmyusername$dev
があります。
プロダクションDBは毎晩自分自身をバックアップし、最新のバッチのライブデータでdevデータベースをロードします。私はsshを使って私のDjango開発環境をdevデータベースに接続しようとしています。これは有料PythonAnywhereの顧客として可能です。
I followed their adviceをダウンロードし、上記のデータベースに問題なく接続するMySQL Workbenchをダウンロードしてください。次のように私は、Djangoの中で、私のdev.py
設定をセットアップしようとした:
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.mysql',
'NAME': 'myusername$dev',
'USER': 'myusername',
'PASSWORD': 'mypassword',
'HOST': '127.0.0.1',
'PORT': '3306',
}
}
しかし、これはdjango.db.utils.OperationalError: (2003, "Can't connect to MySQL server on '127.0.0.1' (10061)")
エラーが発生します。また、127.0.0.1
をlocalhost
に置き換えようとしましたが、ホストとポートの両方を空白のままにしましたが、どちらも機能しませんでした。
私は他の2つのオプションを自分のウェブサイトで使ってみました。別名ではPythonコードを使ってdbに直接アクセスしていましたが、パテを使用していました(私はWindows 10ユーザーです)。
アドバイスをいただければ幸いです。
ホストパラメータが「127.0.0.1」であることを確認すると、データベースがPCにあるとみなされます。だからそれは失礼ではない。代わりにyorサーバーのIPアドレスを使用してください。 – RiggsFolly
@RiggsFolly hmm - 私はIPアドレスを持っていませんが、次のようなものがあります: 'myusername.mysql.pythonanywhere-services.com'なので、それを使ってみました。私はlocalhostを使用していたときより少し時間がかかりましたが、それでも失敗しました....今回はエラー '10060'!私は推測する? – DDiran
'myusername'にリモートからサインインする権利があります – RiggsFolly