Can't connect to DB: BadConnection("Can\'t connect to MySQL server on \'mysql\' (115)") #604

Closed
opened 2026-02-04 21:45:15 +03:00 by OVERLORD · 3 comments
Owner

Originally created by @misterbit-pro on GitHub (Feb 7, 2020).

docker-compose.yml:

version: '3'
services:
  mysql:
    image: mysql:5.7
    restart: always
    volumes:
        - mysql-vol-1:/var/lib/mysql/
    environment: 
    - MYSQL_ROOT_PASSWORD=roottest1234
    - MYSQL_DATABASE=bitwarden
    - MYSQL_USER=bitwarden
    - MYSQL_PASSWORD=test1234
  bitwarden-server:
    image: bitwardenrs/server-mysql
    ports: 
      - 127.0.0.1:8084:80
    links: 
      - "mysql:mysql" 
    volumes:
      - /opt/bitwarden_rs/data:/data
    environment:
      - WEBSOCKET_ENABLED=true # Required to use websockets
      - SIGNUPS_ALLOWED=false   # set to false to disable signups
      - DOMAIN=bitwarden.misterbit.pro
      - DATABASE_URL=mysql://bitwarden:test1234@mysql/bitwarden
      - RUST_BACKTRACE=full
      - ENABLE_DB_WAL=false
volumes:
  mysql-vol-1:

docker conatiner log:

/--------------------------------------------------------------------\,
|                       Starting Bitwarden_RS                        |,
|                      Version 1.13.1-f5916ec3                       |,
|--------------------------------------------------------------------|,
| This is an *unofficial* Bitwarden implementation, DO NOT use the   |,
| official channels to report bugs/features, regardless of client.   |,
| Report URL: https://github.com/dani-garcia/bitwarden_rs/issues/new |,
\--------------------------------------------------------------------/,
,
thread 'main' panicked at 'Can't connect to DB: BadConnection("Can\'t connect to MySQL server on \'mysql\' (115)")', src/main.rs:166:5,
stack backtrace:,
   0:     0x55f91d7edf94 - backtrace::backtrace::libunwind::trace::h4c2cc0e2e6ab3962,
                               at /cargo/registry/src/github.com-1ecc6299db9ec823/backtrace-0.3.40/src/backtrace/libunwind.rs:88,
   1:     0x55f91d7edf94 - backtrace::backtrace::trace_unsynchronized::hea6bde8e7134fd0e,
                               at /cargo/registry/src/github.com-1ecc6299db9ec823/backtrace-0.3.40/src/backtrace/mod.rs:66,
   2:     0x55f91d7edf94 - std::sys_common::backtrace::_print_fmt::he7d4732f58e6db0f,
                               at src/libstd/sys_common/backtrace.rs:77,
   3:     0x55f91d7edf94 - <std::sys_common::backtrace::_print::DisplayBacktrace as core::fmt::Display>::fmt::hf701bbc56fde8d3e,
                               at src/libstd/sys_common/backtrace.rs:59,
   4:     0x55f91d81409c - core::fmt::write::he594986618f675c1,
                               at src/libcore/fmt/mod.rs:1052,
   5:     0x55f91d7e5c57 - std::io::Write::write_fmt::hd70ac90f82ab1700,
                               at src/libstd/io/mod.rs:1428,
   6:     0x55f91d7f01c5 - std::sys_common::backtrace::_print::h25a36b234ec491c1,
                               at src/libstd/sys_common/backtrace.rs:62,
   7:     0x55f91d7f01c5 - std::sys_common::backtrace::print::h62a7683f84bc3186,
                               at src/libstd/sys_common/backtrace.rs:49,
   8:     0x55f91d7f01c5 - std::panicking::default_hook::{{closure}}::h768d56ec1648bf19,
                               at src/libstd/panicking.rs:204,
   9:     0x55f91d7efeb1 - std::panicking::default_hook::h1b45fc6f2d3bc4d1,
                               at src/libstd/panicking.rs:224,
  10:     0x55f91d7f082a - std::panicking::rust_panic_with_hook::h4280c0e24899f0dd,
                               at src/libstd/panicking.rs:472,
  11:     0x55f91d7f0410 - rust_begin_unwind,
                               at src/libstd/panicking.rs:380,
  12:     0x55f91d8128b1 - core::panicking::panic_fmt::hd08789ca336a1e3e,
                               at src/libcore/panicking.rs:85,
  13:     0x55f91d8126d3 - core::option::expect_none_failed::h5f7476254e94cf79,
                               at src/libcore/option.rs:1199,
  14:     0x55f91d051055 - bitwarden_rs::main::hcf79a0a2a8d4130a,
  15:     0x55f91d1f0ef3 - std::rt::lang_start::{{closure}}::h26f9db1e2bcf2e0a,
  16:     0x55f91d7f02f3 - std::rt::lang_start_internal::{{closure}}::h146e16f41944d428,
                               at src/libstd/rt.rs:52,
  17:     0x55f91d7f02f3 - std::panicking::try::do_call::h3f5225ae73a228e1,
                               at src/libstd/panicking.rs:305,
  18:     0x55f91d7fa337 - __rust_maybe_catch_panic,
                               at src/libpanic_unwind/lib.rs:86,
  19:     0x55f91d7f0d90 - std::panicking::try::h51b6356779bfebde,
                               at src/libstd/panicking.rs:281,
  20:     0x55f91d7f0d90 - std::panic::catch_unwind::h5160e22d94ba4502,
                               at src/libstd/panic.rs:394,
  21:     0x55f91d7f0d90 - std::rt::lang_start_internal::hbe3c5736d32d3fde,
                               at src/libstd/rt.rs:51,
  22:     0x55f91d055402 - main,
  23:     0x7f9abb75a09b - __libc_start_main,
  24:     0x55f91cf7a21a - _start,
  25:                0x0 - <unknown>,

I have no clue what's happening here! I have tried multiple docker-compose configuartions, but there is always the same error. Can anyone help me with this?

Originally created by @misterbit-pro on GitHub (Feb 7, 2020). docker-compose.yml: ```yaml version: '3' services: mysql: image: mysql:5.7 restart: always volumes: - mysql-vol-1:/var/lib/mysql/ environment: - MYSQL_ROOT_PASSWORD=roottest1234 - MYSQL_DATABASE=bitwarden - MYSQL_USER=bitwarden - MYSQL_PASSWORD=test1234 bitwarden-server: image: bitwardenrs/server-mysql ports: - 127.0.0.1:8084:80 links: - "mysql:mysql" volumes: - /opt/bitwarden_rs/data:/data environment: - WEBSOCKET_ENABLED=true # Required to use websockets - SIGNUPS_ALLOWED=false # set to false to disable signups - DOMAIN=bitwarden.misterbit.pro - DATABASE_URL=mysql://bitwarden:test1234@mysql/bitwarden - RUST_BACKTRACE=full - ENABLE_DB_WAL=false volumes: mysql-vol-1: ``` docker conatiner log: ``` /--------------------------------------------------------------------\, | Starting Bitwarden_RS |, | Version 1.13.1-f5916ec3 |, |--------------------------------------------------------------------|, | This is an *unofficial* Bitwarden implementation, DO NOT use the |, | official channels to report bugs/features, regardless of client. |, | Report URL: https://github.com/dani-garcia/bitwarden_rs/issues/new |, \--------------------------------------------------------------------/, , thread 'main' panicked at 'Can't connect to DB: BadConnection("Can\'t connect to MySQL server on \'mysql\' (115)")', src/main.rs:166:5, stack backtrace:, 0: 0x55f91d7edf94 - backtrace::backtrace::libunwind::trace::h4c2cc0e2e6ab3962, at /cargo/registry/src/github.com-1ecc6299db9ec823/backtrace-0.3.40/src/backtrace/libunwind.rs:88, 1: 0x55f91d7edf94 - backtrace::backtrace::trace_unsynchronized::hea6bde8e7134fd0e, at /cargo/registry/src/github.com-1ecc6299db9ec823/backtrace-0.3.40/src/backtrace/mod.rs:66, 2: 0x55f91d7edf94 - std::sys_common::backtrace::_print_fmt::he7d4732f58e6db0f, at src/libstd/sys_common/backtrace.rs:77, 3: 0x55f91d7edf94 - <std::sys_common::backtrace::_print::DisplayBacktrace as core::fmt::Display>::fmt::hf701bbc56fde8d3e, at src/libstd/sys_common/backtrace.rs:59, 4: 0x55f91d81409c - core::fmt::write::he594986618f675c1, at src/libcore/fmt/mod.rs:1052, 5: 0x55f91d7e5c57 - std::io::Write::write_fmt::hd70ac90f82ab1700, at src/libstd/io/mod.rs:1428, 6: 0x55f91d7f01c5 - std::sys_common::backtrace::_print::h25a36b234ec491c1, at src/libstd/sys_common/backtrace.rs:62, 7: 0x55f91d7f01c5 - std::sys_common::backtrace::print::h62a7683f84bc3186, at src/libstd/sys_common/backtrace.rs:49, 8: 0x55f91d7f01c5 - std::panicking::default_hook::{{closure}}::h768d56ec1648bf19, at src/libstd/panicking.rs:204, 9: 0x55f91d7efeb1 - std::panicking::default_hook::h1b45fc6f2d3bc4d1, at src/libstd/panicking.rs:224, 10: 0x55f91d7f082a - std::panicking::rust_panic_with_hook::h4280c0e24899f0dd, at src/libstd/panicking.rs:472, 11: 0x55f91d7f0410 - rust_begin_unwind, at src/libstd/panicking.rs:380, 12: 0x55f91d8128b1 - core::panicking::panic_fmt::hd08789ca336a1e3e, at src/libcore/panicking.rs:85, 13: 0x55f91d8126d3 - core::option::expect_none_failed::h5f7476254e94cf79, at src/libcore/option.rs:1199, 14: 0x55f91d051055 - bitwarden_rs::main::hcf79a0a2a8d4130a, 15: 0x55f91d1f0ef3 - std::rt::lang_start::{{closure}}::h26f9db1e2bcf2e0a, 16: 0x55f91d7f02f3 - std::rt::lang_start_internal::{{closure}}::h146e16f41944d428, at src/libstd/rt.rs:52, 17: 0x55f91d7f02f3 - std::panicking::try::do_call::h3f5225ae73a228e1, at src/libstd/panicking.rs:305, 18: 0x55f91d7fa337 - __rust_maybe_catch_panic, at src/libpanic_unwind/lib.rs:86, 19: 0x55f91d7f0d90 - std::panicking::try::h51b6356779bfebde, at src/libstd/panicking.rs:281, 20: 0x55f91d7f0d90 - std::panic::catch_unwind::h5160e22d94ba4502, at src/libstd/panic.rs:394, 21: 0x55f91d7f0d90 - std::rt::lang_start_internal::hbe3c5736d32d3fde, at src/libstd/rt.rs:51, 22: 0x55f91d055402 - main, 23: 0x7f9abb75a09b - __libc_start_main, 24: 0x55f91cf7a21a - _start, 25: 0x0 - <unknown>, ``` I have no clue what's happening here! I have tried multiple docker-compose configuartions, but there is always the same error. Can anyone help me with this?
Author
Owner

@dennisgerding commented on GitHub (Feb 11, 2020):

I think its because you have to name your container to mysql. The alternative is to use docker-compose ps, find out the container name and change your connection string to mysql://bitwarden:test1234@MYSQL_CONTAINER_NAME_HERE/bitwarden

@dennisgerding commented on GitHub (Feb 11, 2020): I think its because you have to [name your container](https://docs.docker.com/compose/compose-file/#container_name) to `mysql`. The alternative is to use `docker-compose ps`, find out the container name and change your connection string to `mysql://bitwarden:test1234@MYSQL_CONTAINER_NAME_HERE/bitwarden`
Author
Owner

@misterbit-pro commented on GitHub (Feb 21, 2020):

That doesn't work either!
My new docker-compose file:

version: '3'

services:
  mysql:
    container_name: bitwarden_rs-mysql
    image: mysql:5.7
    restart: always
    volumes:
        - mysql-vol-1:/var/lib/mysql/
    environment:
    - MYSQL_ROOT_PASSWORD=roottest1234
    - MYSQL_DATABASE=bitwarden
    - MYSQL_USER=bitwarden
    - MYSQL_PASSWORD=test1234
  bitwarden-server:
    image: bitwardenrs/server-mysql
    ports:
      - 127.0.0.1:8084:80
    volumes:
      - /opt/bitwarden_rs/data:/data
    environment:
      - WEBSOCKET_ENABLED=true # Required to use websockets
      - SIGNUPS_ALLOWED=false   # set to false to disable signups
      - DOMAIN=bitwarden.misterbit.pro
      - DATABASE_URL=mysql://bitwarden:test1234@bitwarden_rs-mysql/bitwarden
      - RUST_BACKTRACE=1
      - ENABLE_DB_WAL=false

Logs are the same!

@misterbit-pro commented on GitHub (Feb 21, 2020): That doesn't work either! My new docker-compose file: ``` version: '3' services: mysql: container_name: bitwarden_rs-mysql image: mysql:5.7 restart: always volumes: - mysql-vol-1:/var/lib/mysql/ environment: - MYSQL_ROOT_PASSWORD=roottest1234 - MYSQL_DATABASE=bitwarden - MYSQL_USER=bitwarden - MYSQL_PASSWORD=test1234 bitwarden-server: image: bitwardenrs/server-mysql ports: - 127.0.0.1:8084:80 volumes: - /opt/bitwarden_rs/data:/data environment: - WEBSOCKET_ENABLED=true # Required to use websockets - SIGNUPS_ALLOWED=false # set to false to disable signups - DOMAIN=bitwarden.misterbit.pro - DATABASE_URL=mysql://bitwarden:test1234@bitwarden_rs-mysql/bitwarden - RUST_BACKTRACE=1 - ENABLE_DB_WAL=false ``` Logs are the same!
Author
Owner

@dennisgerding commented on GitHub (Feb 21, 2020):

Hello @misterbit-pro, i got it working with the docker-compose.yml file i put under this message. I believe you got your error because bitwarden_rs is started up before mysql is fully started. Using depends_on forces docker-compose to boot up mysql first.

Please also remember the first time you want to register yourself you have to start the container with SIGNUPS_ALLOWED: 'true'

Take care!
Dennis

version: '3'

services:
  mysql:
    container_name: bitwarden_rs-mysql
    image: mysql:5.7
    restart: always
    volumes:
        - mysql-vol-1:/var/lib/mysql/
    environment:
      MYSQL_ROOT_PASSWORD: 'roottest1234'
      MYSQL_DATABASE: 'bitwarden'
      MYSQL_USER: 'bitwarden'
      MYSQL_PASSWORD: 'test1234'
  bitwarden-server:
    image: bitwardenrs/server-mysql
    depends_on:
      - mysql
    ports:
      - 8084:80
    volumes:
      - /opt/bitwarden_rs/data:/data
    environment:
        WEBSOCKET_ENABLED: 'true' 
        SIGNUPS_ALLOWED: 'false'   
        DOMAIN: 'bitwarden.misterbit.pro'
        DATABASE_URL: 'mysql://bitwarden:test1234@bitwarden_rs-mysql/bitwarden'
        RUST_BACKTRACE: 1
        ENABLE_DB_WAL: 'false'
        
volumes:
  mysql-vol-1:
      driver: local
@dennisgerding commented on GitHub (Feb 21, 2020): Hello @misterbit-pro, i got it working with the ```docker-compose.yml``` file i put under this message. I believe you got your error because bitwarden_rs is started up before mysql is fully started. Using [```depends_on```](https://docs.docker.com/compose/compose-file/#depends_on) forces docker-compose to boot up mysql first. Please also remember the first time you want to register yourself you have to start the container with ```SIGNUPS_ALLOWED: 'true' ``` Take care! Dennis ``` version: '3' services: mysql: container_name: bitwarden_rs-mysql image: mysql:5.7 restart: always volumes: - mysql-vol-1:/var/lib/mysql/ environment: MYSQL_ROOT_PASSWORD: 'roottest1234' MYSQL_DATABASE: 'bitwarden' MYSQL_USER: 'bitwarden' MYSQL_PASSWORD: 'test1234' bitwarden-server: image: bitwardenrs/server-mysql depends_on: - mysql ports: - 8084:80 volumes: - /opt/bitwarden_rs/data:/data environment: WEBSOCKET_ENABLED: 'true' SIGNUPS_ALLOWED: 'false' DOMAIN: 'bitwarden.misterbit.pro' DATABASE_URL: 'mysql://bitwarden:test1234@bitwarden_rs-mysql/bitwarden' RUST_BACKTRACE: 1 ENABLE_DB_WAL: 'false' volumes: mysql-vol-1: driver: local ```
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: starred/vaultwarden#604