# Xrabackup2.4 in docker container Failed to connect to MySQL server 5.6 that runs in docker container

**URL:** <https://forums.percona.com/t/xrabackup2-4-in-docker-container-failed-to-connect-to-mysql-server-5-6-that-runs-in-docker-container/11799>\
**Category:** Percona XtraBackup\
**Created:** [August 16, 2021, 3:35pm UTC](https://forums.percona.com/t/xrabackup2-4-in-docker-container-failed-to-connect-to-mysql-server-5-6-that-runs-in-docker-container/11799 "2021-08-16T15:35:53Z")\
**Posts on this page:** 5\
**Page:** 1

<div class="post-metadata">

**Author:** ![geneva\_nn](https://sea1.discourse-cdn.com/flex019/user_avatar/forums.percona.com/geneva_nn/32/4273_2.png) [@geneva\_nn](https://forums.percona.com/u/geneva_nn)\
**Post date:** [August 16, 2021, 3:35pm UTC](https://forums.percona.com/t/xrabackup2-4-in-docker-container-failed-to-connect-to-mysql-server-5-6-that-runs-in-docker-container/11799/1 "2021-08-16T15:35:53Z")

</div>

Hello,  
I have a docker container with MySQL 5.6 and Percona Xtrabackup 2.4 that runs in docker container either.  
MySQL 5.6 comtainer was created with docker-compose.yml file:

Xtrabackup docker container was created with the command:  
version: ‘3’  
services:  
mysql56:  
image: mysql:5.6  
restart: unless-stopped  
container\_name: mysql56-container  
ports:  
- “127.0.0.1:3306:3306”  
environment:  
MYSQL\_ROOT\_PASSWORD: ${DB\_PASSWD}  
volumes:  
- /usr/local/docker-custom/mysql56-container/mysql/conf.d:/etc/mysql/conf.d  
- ${DB\_VOLUME}:/var/lib/mysql  
- /home/${MY\_USER}/support:/home/support  
- /home/${MY\_USER}/backups:/home/backups

Xtrabackup 2.4 container was created with the below command:

docker create   
–name xtrabackup24-container   
–volumes-from mysql56-container   
percona/percona-xtrabackup:2.4   
xtrabackup   
– defaults-file=/etc/mysql/` `conf.d/my-32G.cnf`   
–host=localhost --port=3306   
–socket=/var/run/mysqld/mysqld.sock \   
–backup --datadir=/var/lib/mysql   
–target-dir=/home/backups/xtrabackup   
–user=root --password=root\_password

When I start xtrabackup with the command:  
$ docker start -ai xtrabackup24-container

xtrabackup tryes to connect to MySQL 5.6 server:  
Connecting to MySQL server host: localhost, user: root, password: set, port: 3306, socket: /var/run/mysqld/mysqld.sock

Failed to connect to MySQL server: Can’t connect to local MySQL server through socket ‘/var/run/mysqld/mysqld.sock’ (2)

When I change the server IP to the IP the MySQL5.6 container runs on:  
$ docker inspect mysql56-container | grep “IPAddress”  
“SecondaryIPAddresses”: null,  
“IPAddress”: “”,  
“IPAddress”: “172.19.0.2”,

The connection erroris Failed to connect to MySQL server: Can’t connect to MySQL server on ‘172.19.0.2’ (110)

What am I doing wrong?

Any help is highly appreciated.

Regards, geneva\_nn

---

<div class="post-metadata">

**Author:** ![Marcelo\_Altmann](https://sea1.discourse-cdn.com/flex019/user_avatar/forums.percona.com/marcelo_altmann/32/11299_2.png) [@Marcelo\_Altmann](https://forums.percona.com/u/Marcelo_Altmann)\
**Post date:** [August 18, 2021, 11:05am UTC](https://forums.percona.com/t/xrabackup2-4-in-docker-container-failed-to-connect-to-mysql-server-5-6-that-runs-in-docker-container/11799/2 "2021-08-18T11:05:06Z")

</div>

Hi There,

Make sure MySQL container is listening on all interfaces, not only loopback:

```auto
[mysqld]
bind-address = 0.0.0.0

```

---

<div class="post-metadata">

**Author:** ![geneva\_nn](https://sea1.discourse-cdn.com/flex019/user_avatar/forums.percona.com/geneva_nn/32/4273_2.png) [@geneva\_nn](https://forums.percona.com/u/geneva_nn)\
**Post date:** [August 18, 2021, 12:10pm UTC](https://forums.percona.com/t/xrabackup2-4-in-docker-container-failed-to-connect-to-mysql-server-5-6-that-runs-in-docker-container/11799/3 "2021-08-18T12:10:12Z")

</div>

Thank you for the advice.

Tried bind-address=0.0.0.0, tried to remove bind-address, no results. Still getting cannot connect to MySQL error.

---

<div class="post-metadata">

**Author:** ![Marcelo\_Altmann](https://sea1.discourse-cdn.com/flex019/user_avatar/forums.percona.com/marcelo_altmann/32/11299_2.png) [@Marcelo\_Altmann](https://forums.percona.com/u/Marcelo_Altmann)\
**Post date:** [August 19, 2021, 11:35am UTC](https://forums.percona.com/t/xrabackup2-4-in-docker-container-failed-to-connect-to-mysql-server-5-6-that-runs-in-docker-container/11799/4 "2021-08-19T11:35:39Z")

</div>

HI @geneva_nn your issue is intra container communication. You must configure your docker network so one container can communicate with the network interface of the other. Once they are able to communicate (ping each other), you just need to make sure mysql is also binding on that interface.

Please check [Networking with standalone containers | Docker Documentation](https://docs.docker.com/network/network-tutorial-standalone/)

---

<div class="post-metadata">

**Author:** ![geneva\_nn](https://sea1.discourse-cdn.com/flex019/user_avatar/forums.percona.com/geneva_nn/32/4273_2.png) [@geneva\_nn](https://forums.percona.com/u/geneva_nn)\
**Post date:** [August 20, 2021, 1:29pm UTC](https://forums.percona.com/t/xrabackup2-4-in-docker-container-failed-to-connect-to-mysql-server-5-6-that-runs-in-docker-container/11799/5 "2021-08-20T13:29:52Z")

</div>

Hi, @Marcelo_Altmann ,  
I have found a reason and resolved the MySQL xtrabackup connection issue.

The reason was the xtrabackup 2.4 in docker container could not see the MySQL 5.6 socket (MySQL 5.6 is in own docker container).  
What I have done:

1. mounted a host /var/run/mysqld folder to the MySQL 5.6 container socket folder /run/mysqld. The socket inside of the MySQL56 container is really located inside of the /run/mysqld folder.  
Here is a docker-compose.yml file part for the MySQL 5.6 container mysqld volume:  
volumes:  
…  
- /var/run/mysqld:/run/mysqld  
…
2. Created xtrabackup 2.4 docker container with the --socket=/run/mysqld/mysqld.sock option:  
docker create   
–name xtrabackup24-container   
–volumes-from mysql56-container   
percona/percona-xtrabackup:2.4   
xtrabackup   
–defaults-file=/etc/mysql/conf.d/my-32G.cnf   
–socket=/run/mysqld/mysqld.sock   
–backup --datadir=/var/lib/mysql   
–target-dir=/home/backups/xtrabackup   
–user=backup\_user\_name --password=backup\_user\_password
