Rumah > pangkalan data > tutorial mysql > Mengapa 'Akses Ditolak' Berlaku untuk Pengguna MySQL Root Walaupun MYSQL_ROOT_PASSWORD Ditetapkan dalam Docker?

Mengapa 'Akses Ditolak' Berlaku untuk Pengguna MySQL Root Walaupun MYSQL_ROOT_PASSWORD Ditetapkan dalam Docker?

DDD
Lepaskan: 2024-12-20 08:20:11
asal
474 orang telah melayarinya

Why Does

MySQL_ROOT_PASSWORD Ditetapkan, Tetapi Akses Ditolak untuk Pengguna 'root'@'localhost' (menggunakan Kata Laluan: YES)

Dalam persekitaran MySQL yang dilabuhkan , menetapkan pembolehubah persekitaran MYSQL_ROOT_PASSWORD tidak mencukupi untuk memastikan akses kepada pangkalan data. Ini kerana imej tidak akan memulakan pangkalan data baharu jika volum db_data sudah mengandungi pemasangan sedia ada.

Penyelesaian masalah:

  1. Semak sama ada pangkalan data sudah dimulakan dalam volum db_data: Jika anda memulakan bekas dengan volum sedia ada, pembolehubah persekitaran tidak akan mempunyai kesan dan pangkalan data tidak akan dimulakan.
  2. Padamkan volum db_data untuk memaksa pemula:

    • Jalankan docker-compose down -v untuk mengalih keluar volum sedia ada.
    • Jalankan docker-compose up -d untuk memulakan bekas dengan volum baharu dan mulakan pangkalan data.
  3. Tukar kepada bind mount jika mahu:

    • Selepas memulakan pangkalan data, anda boleh tukarkan volum kepada bind mount dengan menukar bahagian volum dalam docker-compose.yml kepada:

      volumes:
         - /host/path/to/db_data:/var/lib/mysql
      Salin selepas log masuk
    • Padamkan kandungan lokasi pelekap bind sebelum memulakan bekas: rm -rf /host/path/to/db_data/*
  4. Semak potensi lain isu:

    • Pastikan pembolehubah MYSQL_ROOT_PASSWORD ditetapkan dengan betul.
    • Periksa tetapan firewall untuk memastikan port 3306 dibuka.
    • Sahkan bahawa Perkhidmatan MySQL sedang berjalan dalam bekas.

Atas ialah kandungan terperinci Mengapa 'Akses Ditolak' Berlaku untuk Pengguna MySQL Root Walaupun MYSQL_ROOT_PASSWORD Ditetapkan dalam Docker?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan Laman Web ini
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
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan