[MDEV-30130] mariadb_install_db argument parsing of "" incorrect Created: 2022-11-30 Updated: 2024-02-06 |
|
| Status: | Open |
| Project: | MariaDB Server |
| Component/s: | Docker |
| Affects Version/s: | 10.6.11 |
| Fix Version/s: | 10.4, 10.5, 10.6 |
| Type: | Bug | Priority: | Minor |
| Reporter: | Daniel Black | Assignee: | Daniel Black |
| Resolution: | Unresolved | Votes: | 0 |
| Labels: | None | ||
| Description |
|
In the official MariaDB container image, the old_mode variable - when set at the command line - behaves inconsistently with a locally-installed version of MariaDB 10.6.11 on the same machine. In addition, the command-line argument handling is inconsistent for string-valued flags when setting them to the empty string. Environment:
docker run --rm -e=MARIADB_ALLOW_EMPTY_ROOT_PASSWORD=1 mariadb:10.6 --old-mode=""
docker run --rm -e=MARIADB_ALLOW_EMPTY_ROOT_PASSWORD=1 mariadb:10.6 --old-mode ""
Despite the message given, no logs are left in /var/lib/mysql/ inside the container. The behaviour changes when the /var/lib/mysql directory is set as a mount inside the container. The first run fails with the "2300 bytes" error, while the second run with the same volume mounted succeeds. (e.g. docker run --mount=type=volume,source=mariadb-test,destination=/var/lib/mysql --rm -e=MARIADB_ALLOW_EMPTY_ROOT_PASSWORD=1 mariadb:10.6 --old-mode="") |
| Comments |
| Comment by Daniel Black [ 2022-11-30 ] | ||||||||||||||
|
seang, cloned from MDEV-30126. Technically producable out of containers by formulating the arguments to mysql_install_db the same way.
Appears to the in the mysql_install_db.sh arg parsing rather than the server. Affects 10.3
|