Mysql
 sql >> Teknologi Basis Data >  >> RDS >> Mysql

Skrip MySQL di docker-entrypoint-initdb tidak dieksekusi

Anda harus menghapus data_volume sebelum menjalankan container dan file sql akan dieksekusi. Volume ini data_volume dapat dihapus dengan menggunakan perintah:docker volume rm data_volume .

Akar penyebab masalah Anda dapat ditemukan di docker-entrypoint.sh . Saat Anda menjalankan wadah mysql, ia memeriksa direktori mysql /var/lib/mysql ada atau tidak. Jika direktori tidak ada (jalankan pertama kali), itu akan menjalankan file SQL Anda.

    if [ ! -d "$DATADIR/mysql" ]; then
        //Some other logic here

        for f in /docker-entrypoint-initdb.d/*; do
            case "$f" in
                *.sh)     echo "$0: running $f"; . "$f" ;;
                *.sql)    echo "$0: running $f"; "${mysql[@]}" < "$f"; echo ;;
                *.sql.gz) echo "$0: running $f"; gunzip -c "$f" | "${mysql[@]}"; echo ;;
                *)        echo "$0: ignoring $f" ;;
            esac
            echo
        done 

Anda bisa mendapatkan detail selengkapnya di sumber Dockerfile



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Akses ditolak membuat basis data awal - bagaimana cara memberikan akses yang benar?

  2. Perbarui basis data dengan beberapa Pernyataan SQL

  3. Berapa panjang maksimum data yang dapat saya masukkan ke dalam kolom BLOB di MySQL?

  4. Menambahkan jam, menit, detik ke Tanggal SQL

  5. kueri untuk tata letak horizontal data mysql