Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

docker-compose: mariadb #8194

Open
wants to merge 6 commits into
base: main
Choose a base branch
from
Open

docker-compose: mariadb #8194

wants to merge 6 commits into from

Conversation

grooverdan
Copy link

What does this PR do?

Adjusts the docker-compose.yml in a number of ways for individual reasons around MariaDB as mentioned in the commit messages.

Putting these as individual pull requests would result in conflicts so I though I'd include all in one and see if the review processes objects to any particular commit where after an approved list can be included.

Test Plan

docker-compose up.

(Write your test plan here. If you changed any code, please provide us with clear instructions on how you verified your changes work. Screenshots may also be helpful.)

Related PRs and Issues

  • (Related PR or issue)

Checklist

  • Have you read the Contributing Guidelines on issues?
  • If the PR includes a change to an API's metadata (desc, label, params, etc.), does it also include updated API specs and example docs?

Based on the outcome of review I'm happy to submit a compatible change to app/views/install/compose.phtml

Note I considered a redis healthcheck from https://stackoverflow.com/questions/67904609/how-do-you-perform-a-healthcheck-in-the-redis-docker-image, but due to less familiarity of redis was uncomfortable to committing to this.

Thanks for using MariaDB in your project.

Your friendly Docker Official Image maintainer of MariaDB,

Daniel

The MARIADB_AUTO_UPGRADE=1 as an environment will handle
the mariadb-upgrade.
The mysqld as part of the command isn't needed.

Starting with straight --* options is detected by the entrypoint
and the MariaDB executable, mariadbd is added.

From 11.0+ there is no /usr/sbin/mysqld in the container.
MariaDB has supported MARIADB_* named environment
variables for quite a while in order to promote
the recognision of MariaDB and not its original
forked codebase in the perception of its users.
Per the documentation https://mariadb.com/kb/en/innodb-redo-log/

"Directly editing or moving the redo logs can cause corruption, and
should never normally be attempted."

Lets remove the temptation to do so from the file.

Also 11.0+ won't start with these files removed.
From https://mariadb.com/kb/en/innodb-system-variables/#innodb_flush_method
the innodb_flush_method is deprecated and is being replaced with
4 other variables affecting the write behaviour.

Its unclear why this was originally needed. The O_DIRECT default change
in 10.6 would have a negative impact if the innodb_buffer_pool was
insufficient to handle the full active dataset. If this is the case
--loose-innodb_data_file_buffering=OFF would be a compatible way to
support this.

As this variable is deprecated, we add the syntax to avoid failure
on start, even though its removal is going to be many years from now.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

1 participant