Mysql
 sql >> Baza danych >  >> RDS >> Mysql

Jak dodać skrypt startowy do kontenera docker mysql?

Musisz utworzyć użytkownika przez MYSQL_USER , MYSQL_PASSWORD env vars i użyj woluminu /docker-entrypoint-initdb.d do mapowania katalogu z twoimi skryptami startowymi (.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

Wyjaśnienie od:https://hub.docker.com/_/mysql/

MYSQL_USER, MYSQL_PASSWORD
Te zmienne są opcjonalne, używane w połączeniu z utworzeniem nowego użytkownika i ustawieniem jego hasła. Ten użytkownik otrzyma uprawnienia administratora (patrz wyżej) dla bazy danych określonej przez MYSQL_DATABASE zmienny. Obie zmienne są wymagane do utworzenia użytkownika.

Inicjowanie nowej instancji
Kiedy kontener jest uruchamiany po raz pierwszy, nowa baza danych o określonej nazwie zostanie utworzona i zainicjowana z dostarczonymi zmiennymi konfiguracyjnymi. Ponadto uruchomi pliki z rozszerzeniami .sh , .sql i .sql.gz które znajdują się w /docker-entrypoint-initdb.d . Pliki zostaną wykonane w kolejności alfabetycznej. Możesz łatwo wypełnić swoje usługi mysql, montowanie zrzutu SQL do tego katalogu i udostępnij niestandardowe obrazy z wniesionymi danymi. Pliki SQL będą domyślnie importowane do bazy danych określonej przez MYSQL_DATABASE zmienna.




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Java Android AsyncTask + połączenie mysql

  2. Zmieniasz to z MySQL na MySQLi?

  3. Mysql:Utworzyć tabelę w wierszu w instrukcji SELECT?

  4. Jak działa funkcja LOWER() w MySQL

  5. Błąd migracji Laravel:błąd składni lub naruszenie dostępu:1071 Podany klucz był za długi; maksymalna długość klucza to 767 bajtów