sql >> データベース >  >> RDS >> Mysql

Dockerコンテナのスキーマを使用してMySQLデータベースを初期化するにはどうすればよいですか?

    MySQL Dockerインスタンスのスキーマを初期化しようとしたときに同じ問題が発生しましたが、グーグルを実行して他の例を実行した後、これを機能させるのに問題が発生しました。これが私がそれを解決した方法です。

    1)MySQLスキーマをファイルにダンプします。

    mysqldump -h <your_mysql_host> -u <user_name> -p --no-data <schema_name> > schema.sql
    

    2)ADDコマンドを使用して、スキーマファイルを/docker-entrypoint-initdb.dに追加します。 Dockerコンテナ内のディレクトリ。 docker-entrypoint.sh fileは、".sql"で終わるこのディレクトリ内のすべてのファイルを実行します MySQLデータベースに対して。

    Dockerfile:

    FROM mysql:5.7.15
    
    MAINTAINER me
    
    ENV MYSQL_DATABASE=<schema_name> \
        MYSQL_ROOT_PASSWORD=<password>
    
    ADD schema.sql /docker-entrypoint-initdb.d
    
    EXPOSE 3306
    

    3)DockerMySQLインスタンスを起動します。

    docker-compose build
    docker-compose up
    

    MySQLのセットアップと内でのダンプのインポートに感謝しますDockerfile docker-entrypoint.shと、SQLスクリプトとシェルスクリプトの両方を実行しているという事実を教えてくれました!



    1. MySQLラーニングパス

    2. Postgresがインデックスを使用しないのはなぜですか?

    3. postgreSQLをpsycopg2に接続できません

    4. SQL ServerReportingServicesの調整