Mysql
 sql >> база данни >  >> RDS >> Mysql

MySQL скриптовете в docker-entrypoint-initdb не се изпълняват

Трябва да изчистите data_volume преди да стартирате контейнера и sql файловете ще бъдат изпълнени. Този том data_volume може да бъде премахнат с помощта на команда:docker volume rm data_volume .

Основната причина за вашия проблем може да бъде намерена в docker-entrypoint.sh . Когато стартирате контейнер mysql, той проверява директорията mysql /var/lib/mysql съществува или не. Ако директорията не съществува (изпълнете я за първи път), тя ще стартира вашите SQL файлове.

    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 

Можете да получите повече подробности в 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. Ruby on Rails MySQL #08S01Лошо ръкостискане - понижаване на MySQL?

  2. Запазете специални символи при импортиране в mysql от csv

  3. MySQL заместващ знак в select

  4. Има ли някакъв начин да се провери производителността на mysql Indexing

  5. Грешка в MySQL:mysql_fetch_assoc() очаква параметър 1 да бъде ресурс