-
-
Notifications
You must be signed in to change notification settings - Fork 579
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
Install matching mysql/mysqldump/mariadb-dump client inside ddev-webserver based on mysql or mariadb database type #6083
Comments
Answering to #6139 (comment) in the relevant issue:
There is The current latest version is How to install The SO example needs to be modified to change the |
I'm not sure there's a client package, but if there is this can be great! |
Now that MariaDB has released mariadb-dump/mysqldump versions that are completely incompatible with "traditional" versions, we're going to have to prioritize this. From: https://mariadb.com/kb/en/mariadb-dump/
Basically, all the latest supported patch versions of mysqldump from mariadb are completely incompatible (without workarounds) with the previous patch version. So mariadb-dump/mysqldump 10.6.18's version is incompatible with 10.6.17. What's up with them!!!
|
Indeed mariadb has added sandbox mode, and database backups fail. |
MariaDB Blog about the change to dump file format: https://mariadb.org/mariadb-dump-file-compatibility-change/ |
FYIW - We are mitigating with the following commands on the web container: docker exec -ti ddev-PROJECT-web bash
sudo apt remove mariadb-client -y
sudo curl -LsS https://r.mariadb.com/downloads/mariadb_repo_setup | sudo bash -s -- --mariadb-server-version="mariadb-10.11"
sudo apt install mariadb-client -y |
Thanks @cristiroma - It would be a lot better as a .ddev/web-build/Dockerfile.mariaclient or something, you wouldn't have to do it all the time. |
I was able to import a file dumped with the new mariadb-dump by deleting the line at the top of the dump that says |
The affected DDEV database images have been pushed with updated mariadb tools, please see
|
In general, the
mysql
client shipped with the ddev-webserver works fine with all mariadb and mysql back-end databases.However, there are a few cases where their behavior is slightly different.
And the fact that the
mysql
client reports a different version is often confusing to people.For example, with database mysql:8.0 we see these outputs:
The web container has the mariadb version, and the db container has the mysql:8.0 version.
On Craft CMS and perhaps some other places, people have the habit of using the built-in tools; Craft actually calls out to the mysql client (on ddev-webserver) rather than connecting directly to the database server, so this can cause confusion there.
Proposal
Add a layer to the ddev-webserver adding a matching
mysql
client to the ddev-webserver, especially where the database type is mysql:8.0, which is the most likely place for concern.It also might be possible to implement this as an add-on for the few people it matters to. It's tricky getting the proper match between the OS-provided
mysql
client and the ddev-webserver, and it could introduce instabilities.The text was updated successfully, but these errors were encountered: