Rumah >pangkalan data >tutorial mysql >Mengapa Saya Tidak Boleh Menyambung ke Pangkalan Data MySQL Saya dalam Docker-Compose?
Tidak Dapat Menyambung ke Pangkalan Data MySQL dalam Docker-Compose
Apabila cuba menjalankan Django dengan MariaDB dalam Docker melalui docker-compose, pengguna mungkin menghadapi ralat berikut:
django.db.utils.OperationalError: (2003, 'Can\'t connect to MySQL server on \'mariadb55\' (111 "Connection refused")')
Untuk menyelesaikan isu ini, adalah penting untuk memastikan port dan hos yang betul digunakan dalam fail tetapan Django. Khususnya, port hendaklah ditetapkan kepada 3306 bukannya 3302 dan hos hendaklah ditetapkan kepada 'db' bukannya 'mariadb55' atau '127.0.0.1'.
Berikut ialah contoh fail tetapan Django yang dikemas kini:
<code class="python">DATABASES = { 'default': { 'ENGINE': 'django.db.backends.mysql', 'NAME': 'test', 'USER': 'belter', 'HOST': 'db', # Use 'db' instead of 'mariadb55' or '127.0.0.1' 'PORT': '3306', # Use 3306 instead of 3302 'PASSWORD': 'belter_2017', 'default-character-set': 'utf8', 'OPTIONS': { 'sql_mode': 'traditional', } } }</code>
Selain itu, adalah penting untuk memastikan bahawa bekas MariaDB boleh diakses pada port 3306, yang boleh disahkan dengan menggunakan skrip check_db.py yang disediakan dalam respons asal.
Dengan mengikuti langkah-langkah ini, pengguna seharusnya dapat menyambung ke pangkalan data MySQL dalam Docker-compose dan menyelesaikan ralat yang ditolak sambungan.
Atas ialah kandungan terperinci Mengapa Saya Tidak Boleh Menyambung ke Pangkalan Data MySQL Saya dalam Docker-Compose?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!