…aneb když si hraje velryba s delfínem. :-)
Mnohem jednodušší než řešit instalace balíčků jako je XAMPP, MAMP apod. je využít schopností Dockeru, díky kterému si můžeme zprovoznit MySQL server.
Spuštění přímo z příkazové řádky
Stažení a instalace Docker Desktop
Docker je možné stáhnout z následujícího odkazu https://www.docker.com/get-started. Po instalaci je vhodné počítač restartovat.
Spuštění kontejneru s MySQL databázovým serverem
Následně v oblíbené příkazové řádce zadáme příkaz:
docker run --name mysql -p 3306:3306 -e MYSQL_ROOT_PASSWORD=root -d mysql:latest
Nyní nám běží kontejner obsahující MySQL v nejaktuálnější verzi díky tagu „latest“ z předešlého příkazu.
Zprovoznění kontejneru s uživatelským rozhraním Adminer
Pro příjemnější práci s databázovým serverem využijeme uživatelské rozhraní Adminer, které naprogramoval Jakub Vrána
docker run --name adminer --link mysql:db -p 8080:8080 -d adminer:latest
Díky parametru link se nám propojí kontejner s názvem mysql a kontejner adminer jej bude síťově rozpoznávat jako db.
Parametr p pak slouží k namapování portu uvnitř kontejneru na port zvenčí, tedy hostitele. Jednouduše řečeno se jedná o zveřejnění portu kontejneru.
K rozhraní Adminer se pak připojíme prostřednictvím prohlížeče zadáním adresy http://localhost:8080.
Uživatelské jméno a heslo jsou root, pokud jste si při spouštění nenastavili jinak.
Nyní můžete velmi snadno pracovat s MySQL databázovým serverem.
PROBLÉM! Kontejnery se nespustily samy
Po aktualizaci operačního systému, Dockeru nebo z nějakého jiného důvodu se může stát, že se kontejnery vypnout. V tomto případě nám pomohou příkazy uvedené níže.
Pro výpis všech kontejnerů:
docker ps -a
Po zjištění názvu nebo lépe ID konkrétního kontejneru můžeme ručně kontejner spustit:
docker container start d7a73a9ecc9b
Kdyby nám náhodou některý kontejner překážel můžeme jej smazat:
docker container start d7a73a9ecc9b
Varianta přes docker-compose.yml
Vytvořte si adresář např. my-database a v něm soubor docker-compose.yml
do něj vložte:
version: '3.1'
services:
adminer:
image: adminer
restart: always
ports:
- 8080:8080
db:
image: mysql:latest
restart: always
environment:
MYSQL_ROOT_PASSWORD: root
Spusťte příkazovou řádku v adresáři se souborem docker-compose a zavolejte příkaz
docker-compose up -d
Pokud s MySQL začínaté tak doporučuji tutoriály na W3 schools.