If you are migrating to MariaDB package, you might have old datadir
stored somewhere using different setup with different users. If you
trust us enough to enable autoupgrade, you probably trust us enough to
chown your datadir as well. This can prevent some potential issues.
Signed-off-by: Michal Hrusecky <michal.hrusecky@turris.com>
(cherry picked from commit
b41525cef4171c7f3200afc41dca5e3837cbd2ec)
PKG_NAME:=mariadb
PKG_VERSION:=10.4.22
-PKG_RELEASE:=1
+PKG_RELEASE:=2
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
PKG_SOURCE_URL := https://archive.mariadb.org/$(PKG_NAME)-$(PKG_VERSION)/source
# Migration from old versions
# shellcheck disable=SC2154
if [ "$(cat "$datadir"/.version 2> /dev/null)" \!= "$version" ] && [ "$autoupgrade" -gt 0 ]; then
+ # Check for correct owner
+ local owner="$(stat --format %U:%G "$datadir" 2> /dev/null)"
+ if [ -n "$owner" ] && [ "$owner" != "$my_user:$my_group" ]; then
+ chown -Rh "$my_user:$my_group" "$datadir"
+ fi
+
# Start upgrade instance without credentials
sudo -u "$my_user" mysqld --skip-networking --skip-grant-tables --socket=/tmp/mysql_upgrade.sock &
PID="$!"