Docker: MySQL + phpMyAdmin
Entorn de desenvolupament local amb MySQL 8.4 i phpMyAdmin orquestrats amb Docker Compose. phpMyAdmin és accessible al port 8889 i es connecta automàticament amb les credencials configurades.
Estructura de fitxers
docker-compose.yml
services:
mysql:
image: mysql:8.4
container_name: mysql-gbd
environment:
MYSQL_ROOT_PASSWORD: root
MYSQL_DATABASE: gbd
MYSQL_USER: gbd_user
MYSQL_PASSWORD: gbd_pass
volumes:
- mysql_data:/var/lib/mysql
networks:
- mysql_net
healthcheck:
test: ["CMD", "mysqladmin", "ping", "-h", "localhost", "-uroot", "-proot"]
interval: 10s
timeout: 5s
retries: 5
restart: unless-stopped
phpmyadmin:
image: phpmyadmin:latest
container_name: phpmyadmin-gbd
environment:
PMA_HOST: mysql
PMA_PORT: 3306
PMA_USER: root
PMA_PASSWORD: root
ports:
- "8889:80"
networks:
- mysql_net
depends_on:
mysql:
condition: service_healthy
restart: unless-stopped
volumes:
mysql_data:
networks:
mysql_net:
Posada en marxa
Obre el navegador a:
phpMyAdmin s'obre directament amb la sessió iniciada com a root. La base de dades gbd ja existeix i hi ha un usuari addicional gbd_user amb accés restringit a gbd.
Credencials
| Servei | Camp | Valor |
|---|---|---|
| MySQL | Usuari root | root |
| MySQL | Contrasenya root | root |
| MySQL | Usuari app | gbd_user |
| MySQL | Contrasenya app | gbd_pass |
| MySQL | Base de dades | gbd |
| MySQL | Port (host) | 3306 |
| phpMyAdmin | URL | http://localhost:8889 |
Connexió des del terminal
# Amb mysql-client instal·lat localment
mysql -h 127.0.0.1 -P 3306 -u root -proot gbd
# Des de dins del contenidor
docker exec -it mysql-gbd mysql -u root -proot gbd
127.0.0.1 en lloc de localhost
MySQL interpreta localhost com a connexió per socket Unix. Des del host, cal usar 127.0.0.1 (TCP) per connectar al port 3306 exposat pel contenidor.