Conexión a bases de datos dockerizadas postgresql y mariadb por consola y DBeaver Universal DataBase
pwd
sudo docker run -d --name mi-postgres -p 5432:5432 -v ~/docker-postgres:/var/lib/postgresql/data -e POSTGRES_PASSWORD=pass123 postgres:16-bookworm
sudo docker ps
sudo ss -tlpn |grep 5432
sudo docker exec -it mi-postgres su - postgres
psql
\l
\q
NO SE PUEDE USAR PASSWORD root VACIO o el contenedor se detendrá inmediatamente.
Dbeaver funciona OK, pero Mysql Workbench necesita activar KDE wallet para guardar la clave root. KWalletManager
pwd
sudo docker run -d --name mi-mariadb -p 3306:3306 -v ~/docker-mariadb:/var/lib/mysql -e MARIADB_ROOT_PASSWORD=pass123 mariadb:11.8.2
sudo docker ps
sudo ss -tlpn |grep 3306
sudo docker exec -it mi-mariadb mariadb -u root -p
show databases;
exit
sudo docker stop mi-mariadb
sudo docker rm mi-mariadb
Estás corriendo MariaDB en un contenedor Docker, lo cual explica por qué tu host (tu máquina local) tiene mysqldump versión 8.0.42 (de MySQL), mientras que el contenedor usa MariaDB 11.8.2.
El error se debe a que estás usando MySQL Workbench en tu sistema local para conectarte al contenedor, pero Workbench usa su propia herramienta mysqldump, que es incompatible con el servidor MariaDB 11.8.2 del contenedor. Evitas conflictos de versión (mysqldump vs MariaDB).
Evitas conflictos de versión (mysqldump vs MariaDB):
sudo docker exec mi-mariadb mariadb-dump -u root -ppass123 nombre_de_tu_db > respaldo.sql
sudo docker exec mi-mariadb mariadb-dump -u root -ppass123 --all-databases > respaldo-completo.sql
✅ Conclusión
- Si tu contenedor corre
MariaDBy estás usandoWorkbench (MySQL 8)para importar o exportar, puede haber conflictos. - Lo más seguro es trabajar con
mariadb-dumppara exportar ymariadbdesde CLI para importar, ambos dentro o desde el contenedor.
Desde host, importando un respaldo hecho con mariadb-dump:
sudo docker exec -i mi-mariadb mariadb -u root -ppass123 nombre_db < backup.sql