Rumah >pangkalan data >tutorial mysql >Bagaimana untuk Menyelesaikan Masalah Persediaan MySQL dan Ralat Import Data dalam Projek LAMP Dockerized?

Bagaimana untuk Menyelesaikan Masalah Persediaan MySQL dan Ralat Import Data dalam Projek LAMP Dockerized?

Barbara Streisand
Barbara Streisandasal
2024-12-07 04:59:10983semak imbas

How to Troubleshoot MySQL Setup and Data Import Errors in a Dockerized LAMP Project?

Menyelesaikan masalah Persediaan Pangkalan Data dan Import Data dalam Fail Docker

Mencipta Fail Docker untuk projek LAMP boleh mencabar, terutamanya apabila menghadapi ralat yang berkaitan dengan MySQL persediaan dan import data. Artikel ini menangani isu biasa yang dihadapi semasa menyediakan MySQL dan mengimport dump menggunakan arahan Dockerfile.

Dockerfile yang disediakan mengandungi beberapa arahan penting untuk persediaan MySQL dan pemuatan data. Walau bagaimanapun, mesej ralat menunjukkan bahawa ia tidak boleh menyambung ke pelayan MySQL tempatan. Untuk menyelesaikan isu ini, kami boleh menggunakan pendekatan yang digariskan dalam penyelesaian di bawah.

Penyelesaian Menggunakan Imej Docker dengan Import Data

Versi terkini imej MySQL Docker rasmi menawarkan penyelesaian yang mudah untuk mengimport data semasa permulaan. Konfigurasi docker-compose.yml yang disediakan membenarkan import data daripada fail SQL yang ditentukan:

data:
  build: docker/data/.
mysql:
  image: mysql
  ports:
    - "3307:3306"
  environment:
    MYSQL_ROOT_PASSWORD: 1234
  volumes:
    - ./docker/data:/docker-entrypoint-initdb.d
  volumes_from:
    - data

Dalam konfigurasi ini, data-dump.sql diletakkan di bawah direktori docker/data. Direktori ini dipasang pada /docker-entrypoint-initdb.d dalam bekas MySQL.

Skrip docker-entrypoint.sh dalam imej MySQL termasuk blok yang menghuraikan fail dengan sambungan .sql dan melaksanakannya sebagai Pertanyaan SQL terhadap pangkalan data MySQL. Ini membolehkan pengimportan data semasa permulaan kontena.

Memastikan Kegigihan Data

Jika kegigihan data diperlukan walaupun selepas menghentikan dan mengalih keluar bekas MySQL, adalah disyorkan untuk menggunakan bekas data berasingan. Fail Docker untuk bekas data adalah mudah:

FROM n3ziniuka5/ubuntu-oracle-jdk:14.04-JDK8

VOLUME /var/lib/mysql

CMD ["true"]

Dengan memasang bekas data pada bekas MySQL, data berterusan walaupun bekas MySQL dihentikan. Ambil perhatian bahawa bekas data tidak perlu dijalankan untuk kegigihan.

Atas ialah kandungan terperinci Bagaimana untuk Menyelesaikan Masalah Persediaan MySQL dan Ralat Import Data dalam Projek LAMP Dockerized?. 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