Not sure what you're trying, but I'm able to connect through a mysql cli just fine with that compose file
version: '3.2'
services:
traefik:
image: 'traefik:2.2'
command:
- "--log.level=DEBUG"
- "--api.insecure=true"
- "--providers.docker=true"
- "--providers.docker.exposedbydefault=false"
- "--entrypoints.web.address=:80"
- "--entrypoints.mysql.address=:3306"
ports:
- "80:80"
- "3306:3306"
- "8080:8080"
volumes:
- "/var/run/docker.sock:/var/run/docker.sock:ro"
db:
image: 'mariadb:10.2'
labels:
- "traefik.enable=true"
- "traefik.tcp.routers.db.rule=HostSNI(`*`)"
- "traefik.tcp.services.db.loadbalancer.server.port=3306"
- "traefik.tcp.routers.db.entrypoints=mysql"
environment:
- MYSQL_ROOT_PASSWORD=root
- MYSQL_DATABASE=test
- MYSQL_USER=test
- MYSQL_PASSWORD=test