Skip to content

[Bug]: schema:dump and backup:run fail seemingly because mysqldump/mariadbdump tries to use ssl #18763

@btlogy

Description

@btlogy

Snipe-IT Version

v8.4.0

PHP Version

v8.4.17

Composer Version

2.9.5

MySQL/MariaDB version

MariaDB 10.11.16

How did you install Snipe-IT?

Docker

Is this a fresh install or an upgrade?

Upgrade

What happened?

Just bumped into the same issue as described in #15364 after upgrading the docker image from 8.3.7 to 8.4.0, w/o having change the DB image:

-    image: snipe/snipe-it:v8.3.7-alpine@sha256:b0d27e5f97d4d3796e5fe7c276d9703efb4877482a76882bbbd5ae4ef066fe62
+    image: snipe/snipe-it:v8.4.0-alpine@sha256:888f5d6913a223854172f2558274e5cec3e114c6bf13805ec72964e6683d04a1
...
     image: mariadb:10.11.16-jammy@sha256:21d87f60a6d84d25871738c64e468ea56118d73e90f614fbde09695ca9879c6e

Nor the .env:

MYSQL_ROOT_PASSWORD={{ secret_root_password }}
MYSQL_DATABASE={{ database_name }}
MYSQL_USER={{ database_user }}
MYSQL_PASSWORD={{ secret_database_password }}
MYSQL_PORT_3306_TCP_ADDR=db
MYSQL_PORT_3306_TCP_PORT=3306

The simplest way to reproduce is the call php artisan schema:dump:

mysqldump: Deprecated program name. It will be removed in a future release, use '/usr/bin/mariadb-dump' instead                                               
mysqldump: unknown variable 'column-statistics=0'
mysqldump: Deprecated program name. It will be removed in a future release, use '/usr/bin/mariadb-dump' instead
mysqldump: Got error: 2026: "TLS/SSL error: SSL is required, but the server does not support it" when trying to connect

And here is the expected result:

mysqldump: Deprecated program name. It will be removed in a future release, use '/usr/bin/mariadb-dump' instead
mysqldump: unknown variable 'column-statistics=0'
mysqldump: Deprecated program name. It will be removed in a future release, use '/usr/bin/mariadb-dump' instead

   INFO  Database schema dumped successfully.  

Which can be achieved with this workaround:

cat >/etc/my.cnf.d/client-skip-ssl.cnf <<EOF
> [client]
> skip-ssl = true
> EOF

Also, it seems like explicitly forcing DB_DUMP_SKIP_SSL=true and/or DB_SSL=false do not help us here.

What browsers are you seeing the problem on?

No response

Can you reproduce this on the public demo?

N/A

Do you have full multiple company support enabled?

No

If you have full multiple company support enabled, do you have location scoping to company enabled?

No

Application log output

[2026-03-25 12:18:49] production.ERROR: The command "mysqldump  --user="${:LARAVEL_LOAD_USER}" --password="${:LARAVEL_LOAD_PASSWORD}" --host="${:LARAVEL_LOAD_HOST}" --port="${:LARAVEL_LOAD_PORT}" --no-tablespaces --skip-add-locks --skip-comments --skip-set-charset --tz-utc "${:LARAVEL_LOAD_DATABASE}" --routines --result-file="${:LARAVEL_LOAD_PATH}" --no-data" failed.

Exit Code: 2(Misuse of shell builtins)

Working directory: /var/www/html

Output:
================


Error Output:
================
mysqldump: Deprecated program name. It will be removed in a future release, use '/usr/bin/mariadb-dump' instead
mysqldump: Got error: 2026: "TLS/SSL error: SSL is required, but the server does not support it" when trying to connect
 {"exception":"[object] (Symfony\\Component\\Process\\Exception\\ProcessFailedException(code: 0): The command \"mysqldump  --user=\"${:LARAVEL_LOAD_USER}\" --password=\"${:LARAVEL_LOAD_PASSWORD}\" --host=\"${:LARAVEL_LOAD_HOST}\" --port=\"${:LARAVEL_LOAD_PORT}\" --no-tablespaces --skip-add-locks --skip-comments --skip-set-charset --tz-utc \"${:LARAVEL_LOAD_DATABASE}\" --routines --result-file=\"${:LARAVEL_LOAD_PATH}\" --no-data\" failed.

Exit Code: 2(Misuse of shell builtins)

Working directory: /var/www/html

Output:
================


Error Output:
================
mysqldump: Deprecated program name. It will be removed in a future release, use '/usr/bin/mariadb-dump' instead
mysqldump: Got error: 2026: \"TLS/SSL error: SSL is required, but the server does not support it\" when trying to connect
 at /var/www/html/vendor/symfony/process/Process.php:269)
[stacktrace]
#0 /var/www/html/vendor/laravel/framework/src/Illuminate/Database/Schema/MySqlSchemaState.php(158): Symfony\\Component\\Process\\Process->mustRun()
#1 /var/www/html/vendor/laravel/framework/src/Illuminate/Database/Schema/MySqlSchemaState.php(161): Illuminate\\Database\\Schema\\MySqlSchemaState->executeDumpProcess()
#2 /var/www/html/vendor/laravel/framework/src/Illuminate/Database/Schema/MySqlSchemaState.php(21): Illuminate\\Database\\Schema\\MySqlSchemaState->executeDumpProcess()
#3 /var/www/html/vendor/laravel/framework/src/Illuminate/Database/Console/DumpCommand.php(46): Illuminate\\Database\\Schema\\MySqlSchemaState->dump()
#4 /var/www/html/vendor/laravel/framework/src/Illuminate/Container/BoundMethod.php(36): Illuminate\\Database\\Console\\DumpCommand->handle()
#5 /var/www/html/vendor/laravel/framework/src/Illuminate/Container/Util.php(43): Illuminate\\Container\\BoundMethod::{closure:Illuminate\\Container\\BoundMethod::call():35}()
#6 /var/www/html/vendor/laravel/framework/src/Illuminate/Container/BoundMethod.php(95): Illuminate\\Container\\Util::unwrapIfClosure()
#7 /var/www/html/vendor/laravel/framework/src/Illuminate/Container/BoundMethod.php(35): Illuminate\\Container\\BoundMethod::callBoundMethod()
#8 /var/www/html/vendor/laravel/framework/src/Illuminate/Container/Container.php(696): Illuminate\\Container\\BoundMethod::call()
#9 /var/www/html/vendor/laravel/framework/src/Illuminate/Console/Command.php(213): Illuminate\\Container\\Container->call()
#10 /var/www/html/vendor/symfony/console/Command/Command.php(318): Illuminate\\Console\\Command->execute()
#11 /var/www/html/vendor/laravel/framework/src/Illuminate/Console/Command.php(182): Symfony\\Component\\Console\\Command\\Command->run()
#12 /var/www/html/vendor/symfony/console/Application.php(1110): Illuminate\\Console\\Command->run()
#13 /var/www/html/vendor/symfony/console/Application.php(359): Symfony\\Component\\Console\\Application->doRunCommand()
#14 /var/www/html/vendor/symfony/console/Application.php(194): Symfony\\Component\\Console\\Application->doRun()
#15 /var/www/html/vendor/laravel/framework/src/Illuminate/Foundation/Console/Kernel.php(198): Symfony\\Component\\Console\\Application->run()
#16 /var/www/html/artisan(33): Illuminate\\Foundation\\Console\\Kernel->handle()
#17 {main}
"}

Browser console output

Common Issues

  • I have searched this repo for existing issues related to my issue (including closed issues)
  • My APP_URL is set correctly in my .env file (including http or https and no trailing slash)
  • I have searched the official Snipe-IT documentation and have checked the Common Issues documentation (where applicable)
  • I have run database migrations (where applicable).
  • I have attached screenshots and/or videos of the issue (where applicable)

Code of Conduct

  • I agree to follow this project's Code of Conduct

Metadata

Metadata

Assignees

Labels

Type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions