Conversation
## The Issue - Fixes ddev#737 The legacy MySQL 5.5 guide pinned `ddev/ddev-dbserver-mysql-5.5:v1.24.6`, which can fail on restart with `Permission denied` when a custom `.ddev/mysql/*.cnf` is present. The pin also left the rest of the recipe stale: the entrypoint was patched by line number, so it only worked with that one image. ## How This PR Solves The Issue A `pre-start` hook derives the legacy image from `$DDEV_DBIMAGE`, so it always matches the installed DDEV version. That fixes the restart failure (DDEV v1.24.7+) and keeps working after upgrades. The entrypoint patches now match on patterns instead of line numbers. The rest updates the article for current DDEV: `x-ddev` keys label the services in `ddev describe`, `ddev ssh -s php -u devilbox` replaces a raw `docker exec`, and Step 2 is marked ARM64-only since AMD64 supports MySQL 5.5 directly. ## Manual Testing Instructions https://pr-738.ddev-com-fork-previews.pages.dev/blog/legacy-projects-with-unsupported-php-and-mysql-using-ddev/ Build the project from Steps 1 to 4 on Apple Silicon. `ddev mysql` should report `5.5.62-log`, `ddev restart` should not complain about a version mismatch, and `ddev ssh -s php -u devilbox` should land in a PHP 5.3 shell. ## Automated Testing Overview No tests needed, documentation-only change. ## Release/Deployment Notes No deployment changes are required. 🤖 Developed with assistance from [Claude Code](https://claude.ai/code) Co-authored-by: Claude Opus 5 <noreply@anthropic.com>
|
🌐 Fork Preview for PR #746 https://pr-746.ddev-com-fork-previews.pages.dev This preview updates automatically when you push changes to your fork. |
stasadev
commented
Sep 24, 2026
| args: | ||
| BASE_IMAGE: ddev/ddev-dbserver-mysql-5.5:v1.24.6 | ||
| BASE_IMAGE: ${DDEV_DB_LEGACY_IMAGE} | ||
| #image: ${DDEV_DB_LEGACY_IMAGE}-${DDEV_SITENAME}-built |
Member
Author
There was a problem hiding this comment.
This line is being commented on because the fix has not been released yet:
stasadev
deleted the
20260904_CyberSymbol_legacy_mysql55_restart_safe
branch
September 24, 2026 15:10
|
PR closed. The Cloudflare Pages preview is no longer updated. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
The Issue
The legacy MySQL 5.5 guide pinned
ddev/ddev-dbserver-mysql-5.5:v1.24.6. With a custom.ddev/mysql/*.cnffile, restarting the DB container could fail withcp: cannot create regular file '/etc/mysql/conf.d/legacy.cnf': Permission denied. DDEV v1.24.7 fixed that. The rest of the recipe was also stuck on that one image, because the entrypoint was patched by line number.How This PR Solves The Issue
A
pre-starthook takes the legacy image name from$DDEV_DBIMAGE, so it always matches the installed DDEV version. That fixes the restart failure and keeps working after DDEV upgrades. The entrypoint patches now match on patterns, not line numbers. A customimagename stops the build from overwriting DDEV's ownddev-dbserver-mysql-8.0image.The article is also updated for current DDEV:
x-ddevkeys label the services inddev describe,ddev ssh -s php -u devilboxreplaces a rawdocker exec, and Step 2 is marked as needed only on ARM64, since AMD64 supports MySQL 5.5 directly.Manual Testing Instructions
https://pr-746.ddev-com-fork-previews.pages.dev/blog/legacy-projects-with-unsupported-php-and-mysql-using-ddev/
Build the project from Steps 1 to 4 on Apple Silicon.
ddev mysqlshould report5.5.62-log,ddev restartshould not complain about a version mismatch, andddev ssh -s php -u devilboxshould open a PHP 5.3 shell.Automated Testing Overview
No tests needed, documentation-only change.
Release/Deployment Notes
No deployment changes are required.
🤖 Developed with assistance from Claude Code