MySQL v Dockeru

Chcete si vyzkoušel MySQL, ale nechcete ji instalovat do počítače. Použijte docker. Zde je příklad pro použití docker-compose.

docker-compose.yml

version: "3"

services:
  mysql:
    image: mysql:latest
    container_name: mysql
    volumes:
      - db_data:/var/lib/mysql
    environment:
      MYSQL_ROOT_PASSWORD: password
    ports:
      - 3306:3306
    
volumes:
  db_data:

Následně stačí zadat příkaz docker-compose up.

Starting mysql ... done
Attaching to mysql
mysql    | 2024-05-03 06:30:36+00:00 [Note] [Entrypoint]: Entrypoint script for MySQL Server 8.4.0-1.el8 started.
mysql    | 2024-05-03 06:30:37+00:00 [Note] [Entrypoint]: Switching to dedicated user 'mysql'
mysql    | 2024-05-03 06:30:37+00:00 [Note] [Entrypoint]: Entrypoint script for MySQL Server 8.4.0-1.el8 started.
mysql    | '/var/lib/mysql/mysql.sock' -> '/var/run/mysqld/mysqld.sock'
mysql    | 2024-05-03T06:30:37.256338Z 0 [System] [MY-015015] [Server] MySQL Server - start.
mysql    | 2024-05-03T06:30:37.467296Z 0 [System] [MY-010116] [Server] /usr/sbin/mysqld (mysqld 8.4.0) starting as process 1
mysql    | 2024-05-03T06:30:37.485612Z 1 [System] [MY-013576] [InnoDB] InnoDB initialization has started.
mysql    | 2024-05-03T06:30:37.740098Z 1 [System] [MY-013577] [InnoDB] InnoDB initialization has ended.
mysql    | 2024-05-03T06:30:38.070405Z 0 [Warning] [MY-010068] [Server] CA certificate ca.pem is self signed.
mysql    | 2024-05-03T06:30:38.070435Z 0 [System] [MY-013602] [Server] Channel mysql_main configured to support TLS. Encrypted connections are now supported for this channel.
mysql    | 2024-05-03T06:30:38.075708Z 0 [Warning] [MY-011810] [Server] Insecure configuration for --pid-file: Location '/var/run/mysqld' in the path is accessible to all OS users. Consider choosing a different directory.
mysql    | 2024-05-03T06:30:38.103540Z 0 [System] [MY-010931] [Server] /usr/sbin/mysqld: ready for connections. Version: '8.4.0'  socket: '/var/run/mysqld/mysqld.sock'  port: 3306  MySQL Community Server - GPL.
mysql    | 2024-05-03T06:30:38.365722Z 0 [System] [MY-011323] [Server] X Plugin ready for connections. Bind-address: '::' port: 33060, socket: /var/run/mysqld/mysqlx.sock

Základní práce s kontejnerem v dockeru

Vytvoření a spuštění kontejneru podle definice v souboru docker-compose.yml (název kontejneru je mysql)
docker-compose up

Zobrazení logů
docker logs mysql

Spuštění bashe v kontejneru
docker exec -it mysql bash

Okopírování všech souborů z určitého adresáře do kontejneru
docker cp dir_name/. container:/home/dir_name

Připojení se do databáze z bashe
mysql -u root -p

Připojení se do databáze přímo z dockeru
docker exec -it mysql mysql -p

Práce v mysql konzoli

Ukončení
\q

Help
\h

Spuštění skriptu ze souboru
.\ /home/dir_name/file_name

Zobrazení existujících databázís
show databases;

Přepnutí se do určité databáze
use db_name;

Zobrazení existujících tabulek v databázi
show tables;

Smazání databáze
drop databae db_name;

Napsat komentář