---
title: 'Jak zainstalować MySQL 8 w Dockerze | Zomro'
description: 'W tym artykule omówimy, jak zainstalować serwer MySQL 8 w kontenerze Docker, i zobaczymy, jak go podłączyć do phpMyAdmin w docker-compose'
image: 'https://dx86q6oq7ry0e.cloudfront.net/uploads/media/blog/a48@server-panel.net/2022/11/01/1669736570_1.png'
---

![opened image]()

  * [Zomro](https://zomro.com/pl/)
  * [FAQ](https://zomro.com/pl/blog/faq/)
  * Jak zainstalować MySQL 8 w Dockerze 



# Jak zainstalować MySQL 8 w Dockerze

23-11-2022

W tym artykule omówimy, jak zainstalować serwer MySQL 8 w kontenerze Docker i zobaczymy, jak go podłączyć do phpMyAdmin w docker-compose, który instalowaliśmy w artykule Jak zainstalować phpMyAdmin w Docker.  


## **Jak zainstalować Docker**

Jak zwykle, aktualizujemy pakiety systemu operacyjnego. 
    
    
    apt update
    

  
Zainstalujemy niezbędne pakiety i dodamy nowe repozytorium:
    
    
    apt install apt-transport-https ca-certificates curl gnupg-agent software-properties-common
    
    curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
    
    add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable"
    

  
Aktualizujemy pakiety z nowym repozytorium:
    
    
    apt update
    

  
Instalujemy Docker.
    
    
    apt-get install docker-ce docker-ce-cli containerd.io
    

  
Sprawdzamy wersję Docker:
    
    
    docker --version
    

  
![Jak zainstalować MySQL 8 w Docker - 1](https://dx86q6oq7ry0e.cloudfront.net/uploads/media/blog/a48@server-panel.net/2022/11/01/1669736570_1.png)Sprawdzamy status:
    
    
    systemctl status docker
    

  
![Jak zainstalować MySQL 8 w Docker - 2](https://dx86q6oq7ry0e.cloudfront.net/uploads/media/blog/a48@server-panel.net/2022/11/01/1669736593_2.png)W przypadku, gdy nie uruchomił się, uruchamiamy:
    
    
    systemctl start docker
    

  
I dodajemy do autostartu.
    
    
    systemctl enable docker
    

  
![Jak zainstalować MySQL 8 w Docker - 3](https://dx86q6oq7ry0e.cloudfront.net/uploads/media/blog/a48@server-panel.net/2022/11/01/1669736594_4.png)

**Instalujemy Docker-Compose**
    
    
    curl -L "https://github.com/docker/compose/releases/download/1.25.5/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
    

  
Ustawiamy prawa do uruchamiania dla pliku docker-compose. 
    
    
    chmod +x /usr/local/bin/docker-compose
    

  
Sprawdzamy, czy Docker-Compose został zainstalowany:
    
    
    docker-compose --version
    

  
![Jak zainstalować MySQL 8 w Docker - 4](https://dx86q6oq7ry0e.cloudfront.net/uploads/media/blog/a48@server-panel.net/2022/11/01/1669740139_5.png)  
Jak widzimy, wszystko jest w porządku. Przechodzimy do tworzenia pliku dla Docker-Compose.  
  
Aby orientować się w przyszłości, gdzie i co mamy zainstalowane, stworzymy osobny folder dla tego projektu w katalogu /home i przejdziemy do niego.
    
    
    mkdir /home/mysql && cd /home/mysql
    

  
W tym przewodniku będziemy instalować konkretną wersję MySQL 8. W tym celu skorzystamy z repozytorium z hub.docker.com  
  
Do stworzenia pliku docker-compose.yaml skorzystamy z repozytorium pod linkiem <https://hub.docker.com/_/mysql>  
  
Tworzymy plik **docker-compose.yaml** lub **docker-compose.yml** :
    
    
    vim docker-compose.yaml
    

  
I dodajemy do niego następujący kod:
    
    
    version: '3.1'
    
    services:
       db_mysql:
          container_name: db_mysql
          image: mysql
          ports:
            - "3311:3306"
          restart: always
          environment:
            MYSQL_USER: admin
            MYSQL_PASSWORD: rNZzq5U37DqJlNe
            MYSQL_ROOT_PASSWORD: 4kDGQDYe4JxDjRd
          volumes:
            - /var/lib/mysqld:/var/lib/mysql

  
![Jak zainstalować MySQL 8 w Docker - 5](https://dx86q6oq7ry0e.cloudfront.net/uploads/media/blog/a48@server-panel.net/2022/11/01/1669816237_screenshot_4.png)Gdzie:  
  
**db_mysql** : nazwa Twojego kontenera;  
**image: mysql** : obraz, z którego zostanie uruchomiony mysql 8;  
**ports: 3311:3306** \- port 3311, który będziemy używać do połączenia z mysql;  
**restart:always** \- wskazuje, że kontener będzie ponownie uruchamiany w przypadku awarii lub restartu serwera;  
**mysql_USER** : tworzenie nowego użytkownika, w tym przypadku to admin;  
**mysql_PASSWORD** : hasło dla użytkownika admin;  
**mysql_ROOT_PASSWORD** : to hasło będzie ustawione dla konta root superużytkownika mysql;  
W **volumes** określamy wspólny katalog, aby przy ponownym uruchomieniu kontenera zachowały się dane bazy danych.  
  
Uruchamiamy nasz skrypt (w tym celu musimy znajdować się w katalogu, w którym został stworzony nasz plik. W tym przypadku to **/home/mysql**):
    
    
    docker-compose up -d 
    

  
Czekamy na pobranie obrazów i uruchomienie.  
  
Sprawdzamy:
    
    
    docker-compose ps
    

  
lub 
    
    
    docker ps
    

  
![Jak zainstalować MySQL 8 w Docker - 6](https://dx86q6oq7ry0e.cloudfront.net/uploads/media/blog/a48@server-panel.net/2022/11/01/1669816404_screenshot_5.png)

## **Jak zobaczyć logi**

## 
    
    
    docker logs -f db_mysql
    

  
Również tę wersję bazy danych mysql 8 można zainstalować razem z phpMyAdmin i podłączyć do niej. Zobaczmy, jak to zrobić.  
  
Edytujemy stworzony plik **docker-compose.yaml**
    
    
    vim docker-compose.yaml
    

  
  
Dodajemy poniżej następującą konstrukcję:
    
    
    version: '3.1'
    
    services:
       db_mysql:
          container_name: db_mysql
          image: mysql
          ports:
            - "3311:3306"
          restart: always
          environment:
            MYSQL_USER: admin
            MYSQL_PASSWORD: rNZzq5U37DqJlNe
            MYSQL_ROOT_PASSWORD: 4kDGQDYe4JxDjRd
          volumes:
            - /var/lib/mysqld:/var/lib/mysql
       phpmyadmin:
          container_name: phpmyadmin
          image: phpmyadmin
          restart: always
          ports:
            - "8091:80"
          environment:
            - PMA_HOST=db_mysql
          depends_on:
            - db_mysql

  
W sekcji **phpmyadmin** dodaliśmy obraz phpmyadmin, wskazaliśmy mu port **8091** , ale teraz będzie on powiązany z konkretnym serwerem bazy danych, a mianowicie z tym, który zainstalowaliśmy/uruchomiliśmy mysql 8  
  
Ten parametr jest określony w bloku environment, gdzie:   
**PMA_HOST=db_mysql** \- wskazuje na kontener/blok mysql, który jest opisany powyżej w tym pliku.  
Również dyrektywa **depends_on** : wskazuje na zależność uruchomienia od kontenera **db_mysql**. Oznacza to, że dopóki nie uruchomi się kontener z **mysql** , kontener z **phpmyadmin** nie zostanie uruchomiony.   
  
Możemy uruchomić phpmyadmin i mysql jednym poleceniem.
    
    
    docker-compose up -d 
    

  
Sprawdzamy:
    
    
    docker-compose ps
    

  
Jak widzimy, kontenery są uruchomione.   
  
![Jak zainstalować MySQL 8 w Docker - 7](https://dx86q6oq7ry0e.cloudfront.net/uploads/media/blog/a48@server-panel.net/2022/11/01/1669816500_screenshot_6.png)  
W podobny sposób możesz zainstalować potrzebną wersję bazy danych MariaDB. Jak to zrobić, możesz przeczytać w [tym ](https://zomro.com/rus/blog/faq/290-kak-ustanovit-mariadb-v-docker)artykule.

Również proponujemy zapoznać się z innymi przydatnymi artykułami:

  * [Jak zainstalować phpMyAdmin w Docker](https://zomro.com/lv/blog/faq/289-kak-ustanovit-phpmyadmin-v-docker)
  * [Jak zainstalować Redis w Docker i Docker Compose](https://zomro.com/lv/blog/faq/301-kak-ustanovit-redis-v-docker)
  * [Jak skopiować dane z hosta do Docker i z Docker na host](https://zomro.com/lv/blog/faq/284-kak-skopirovat-dannye-s-hosta-v-docker-i-iz-docker-na-host)



Similar articles:

[Jak połączyć się z serwerem za pomocą FTP, SFTP i SCP](https://zomro.com/pl/blog/faq/144-kak-podkljuchitsja-k-serveru-po-ftp-sftp-i-scp) [Jak zainstalować RouterOS na serwerze wirtualnym (VPS/VDS)](https://zomro.com/pl/blog/faq/266-kak-ustanovit-routeros-na-virtualnyj-server-vps-vds) [Jak połączyć się z kontenerem Docker za pomocą SFTP?](https://zomro.com/pl/blog/faq/306-how-to-connect-to-a-docker-container-via-sftp) [Jak wyłączyć Windows Defender (Microsoft Defender) w Windows 2016 i 2019](https://zomro.com/pl/blog/faq/347-how-to-activate-microsoft-defender-in-windows-2016-and-2019) [Co to jest FTP i jak go używać do przesyłania plików na serwer?](https://zomro.com/pl/blog/faq/543-what-is-ftp-and-how-do-i-use-it-to-upload-files-to-a-server)

[ Serwer GPU od €174.80/mies ](/dedicated-servers/type=gpu)
