…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.
Pokud již máte Docker nainstalovaný, tak se ujistěte, že máte nejaktuálnější verzi (nevidíte tlačítko Update to latest)
Dále se ujistěte, že vám neběží žádná databáze ani jiná služba na portu 3306 a případně ji odstraňte nebo dlouhodobě vypněte, ať nedochází ke konfliktům. (tento odstavec je věnován Denisovi)
sudo service mysql stop
# případně rovnou odinstalujte
sudo apt purge mysql* mariadb*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:latestNyní 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:latestDí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 -aPo zjištění názvu nebo lépe ID konkrétního kontejneru můžeme ručně kontejner spustit:
docker container start d7a73a9ecc9bKdyby nám náhodou některý kontejner překážel můžeme jej smazat:
docker container start d7a73a9ecc9bVarianta 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: rootSpusťte příkazovou řádku v adresáři se souborem docker-compose a zavolejte příkaz
docker-compose up -dPokud s MySQL začínaté tak doporučuji tutoriály na W3 schools.
Jedna odpověď