--- a/scripts/mysql_install_db.sh
+++ b/scripts/mysql_install_db.sh
@@ -359,6 +359,14 @@ then
     exit 1
   fi
   plugindir=`find_in_dirs --dir auth_pam.so $basedir/lib*/plugin $basedir/lib*/mysql/plugin $basedir/lib/*/mariadb19/plugin`
+  # Upstream assumes all plugins will be always installed, but in OpenWrt we can
+  # install a server without plugins if we want to.
+  if test -z "$plugindir"
+  then
+    echo "Could not find plugin directory." >&2
+    echo "Will continue with \"/usr/lib/mariadb/plugin\"." >&2
+    plugindir=/usr/lib/mariadb/plugin
+  fi
   pamtooldir=$plugindir
 # relative from where the script was run for a relocatable install
 elif test -n "$dirname0" -a -x "$rel_mysqld" -a ! "$rel_mysqld" -ef "@sbindir@/mysqld"
@@ -478,7 +486,9 @@ do
   fi
 done
 
-if test -n "$user"
+# There should be no need for this on OpenWrt. If this turns out to be a wrong guess then
+# we can revisit.
+if test -n ""
 then
   if test -z "$srcdir" -a "$in_rpm" -eq 0
   then
@@ -499,6 +509,10 @@ then
         echo
     fi
   fi
+fi
+
+if test -n "$user"
+then
   args="$args --user=$user"
 fi