From: Michal Hrusecky Date: Thu, 13 Jan 2022 14:04:57 +0000 (+0100) Subject: mariadb: Check and fix datadir owner issues during upgrade X-Git-Url: http://git.lede-project.org./?a=commitdiff_plain;h=b41525cef4171c7f3200afc41dca5e3837cbd2ec;p=feed%2Fpackages.git mariadb: Check and fix datadir owner issues during upgrade 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 --- diff --git a/utils/mariadb/files/mysqld.init b/utils/mariadb/files/mysqld.init index f206971611..8fff379e1c 100644 --- a/utils/mariadb/files/mysqld.init +++ b/utils/mariadb/files/mysqld.init @@ -152,6 +152,12 @@ start_service() { # 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="$!"