sql >> Database >  >> RDS >> Mysql

Hoe voeg ik een opstartscript toe aan een mysql docker-container?

U moet een gebruiker aanmaken via MYSQL_USER , MYSQL_PASSWORD env vars en gebruik volume /docker-entrypoint-initdb.d map toewijzen met uw opstartscripts (.sh , .sql , .sql.gz )

docker run -p 3306:3306 --name mysql-server \ 
 -v ~/Development/web/myproject/docker/mysql:/var/lib/mysql \
 -v ~/Development/web/myproject/docker/yourstartupscripts:/docker-entrypoint-initdb.d \
 -e MYSQL_ROOT_PASSWORD=root \
 -e MYSQL_USER=youruser \
 -e MYSQL_PASSWORD=youruserpassword \
 -d mysql:latest

Uitleg van:https://hub.docker.com/_/mysql/

MYSQL_USER, MYSQL_PASSWORD
Deze variabelen zijn optioneel en worden samen gebruikt om een ​​nieuwe gebruiker aan te maken en om het wachtwoord van die gebruiker in te stellen. Deze gebruiker krijgt superuser-machtigingen (zie hierboven) voor de database gespecificeerd door de MYSQL_DATABASE variabel. Beide variabelen zijn vereist om een ​​gebruiker aan te maken.

Een nieuwe instantie initialiseren
Wanneer een container voor de eerste keer wordt gestart, wordt een nieuwe database met de opgegeven naam gemaakt en geïnitialiseerd met de opgegeven configuratievariabelen. Bovendien zal het bestanden uitvoeren met de extensies .sh , .sql en .sql.gz die te vinden zijn in /docker-entrypoint-initdb.d . Bestanden worden in alfabetische volgorde uitgevoerd. U kunt uw mysql-services eenvoudig vullen met een SQL-dump in die map aankoppelen en geef aangepaste afbeeldingen met aangeleverde gegevens. SQL-bestanden worden standaard geïmporteerd in de database gespecificeerd door de MYSQL_DATABASE variabel.




  1. Hoe een externe sleutel in SQLite te laten vallen

  2. slaapstand kan de volgende reekswaarde niet krijgen

  3. Hoe rijen dynamisch naar kolommen te transponeren in MySQL

  4. JSON-functies en -operators in SQLite (volledige lijst)