mirror of
https://github.com/community-scripts/ProxmoxVE.git
synced 2026-02-05 21:03:24 +01:00
Fix MariaDB runtime directory persistence on container reboot (#10468)
Co-authored-by: MickLesk <47820557+MickLesk@users.noreply.github.com> Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
This commit is contained in:
@@ -3261,6 +3261,31 @@ setup_mariadb() {
|
||||
}
|
||||
fi
|
||||
|
||||
# Configure tmpfiles.d to ensure /run/mysqld directory is created on boot
|
||||
# This fixes the issue where MariaDB fails to start after container reboot
|
||||
msg_info "Configuring MariaDB runtime directory persistence"
|
||||
|
||||
# Create tmpfiles.d configuration with error handling
|
||||
if ! printf '# Ensure /run/mysqld directory exists with correct permissions for MariaDB\nd /run/mysqld 0755 mysql mysql -\n' > /etc/tmpfiles.d/mariadb.conf; then
|
||||
msg_warn "Failed to create /etc/tmpfiles.d/mariadb.conf - runtime directory may not persist on reboot"
|
||||
fi
|
||||
|
||||
# Create the directory now if it doesn't exist
|
||||
# Verify mysql user exists before attempting ownership change
|
||||
if [[ ! -d /run/mysqld ]]; then
|
||||
mkdir -p /run/mysqld
|
||||
# Set permissions first (works regardless of user existence)
|
||||
chmod 755 /run/mysqld
|
||||
# Set ownership only if mysql user exists
|
||||
if getent passwd mysql >/dev/null 2>&1; then
|
||||
chown mysql:mysql /run/mysqld
|
||||
else
|
||||
msg_warn "mysql user not found - directory created with correct permissions but ownership not set"
|
||||
fi
|
||||
fi
|
||||
|
||||
msg_ok "Configured MariaDB runtime directory persistence"
|
||||
|
||||
cache_installed_version "mariadb" "$MARIADB_VERSION"
|
||||
msg_ok "Setup MariaDB $MARIADB_VERSION"
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user