Rumah >pangkalan data >tutorial mysql >Mengapa Saya Tidak Boleh Menyambung ke Pangkalan Data MySQL Saya dalam Docker-Compose?

Mengapa Saya Tidak Boleh Menyambung ke Pangkalan Data MySQL Saya dalam Docker-Compose?

Patricia Arquette
Patricia Arquetteasal
2024-10-29 08:16:30202semak imbas

Why Can't I Connect to My MySQL Database in 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!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn