Change default database name from 'zoneminder' to 'zm', as expected by the zm_create.sql file.

User can still change the database name if needed, the script handles that case too.
This commit is contained in:
Daniel Caujolle-Bert
2026-03-26 17:48:49 +01:00
parent bd6d62c8ba
commit 7789e8b3e5

View File

@@ -3,7 +3,7 @@
APP_NAME="zoneminder"
DB_TYPE="MySQL"
DB_NAME="zoneminder"
DB_NAME="zm"
DB_USER="zoneminder"
DB_ROOT_PASSWORD=$(openssl rand -base64 15)
DB_PASS=$(openssl rand -base64 15)
@@ -62,11 +62,16 @@ mysql -u root --password=${DB_ROOT_PASSWORD} -e "CREATE DATABASE ${DB_NAME};"
mysql -u root --password=${DB_ROOT_PASSWORD} -e "CREATE USER '${DB_USER}'@'localhost' IDENTIFIED BY '${DB_PASS}';"
mysql -u root --password=${DB_ROOT_PASSWORD} -e "GRANT SELECT,INSERT,UPDATE,ALTER,DELETE ON ${DB_NAME}.* TO '${DB_USER}'@'localhost';"
mysql -u root --password=${DB_ROOT_PASSWORD} -e "FLUSH PRIVILEGES;"
#
# Fix hardcoded zm database name
#
sed 's/^CREATE DATABASE.*//g;s/USE `zm`/USE `zoneminder`/g' < /usr/local/share/zoneminder/db/zm_create.sql | \
mysql -u root --password=${DB_ROOT_PASSWORD} ${DB_NAME}
if [ "${DB_NAME}" != "zm" ]; then
#
# If $DB_NAME is not the default (hardcoded) `zm`, tweak the sql file accordingly.
#
sed 's/^CREATE DATABASE.*//g;s/USE `zm`/USE `'${DB_NAME}'`/g' < /usr/local/share/zoneminder/db/zm_create.sql | \
mysql -u root --password=${DB_ROOT_PASSWORD} ${DB_NAME}
else
mysql -u root --password=${DB_ROOT_PASSWORD} ${DB_NAME} < /usr/local/share/zoneminder/db/zm_create.sql
fi
echo "ZM_DB_NAME=${DB_NAME}" > /usr/local/etc/zoneminder/zm-truenas.conf
echo "ZM_DB_USER=${DB_USER}" >> /usr/local/etc/zoneminder/zm-truenas.conf
@@ -97,6 +102,7 @@ echo "Installation complete."
echo "${APP_NAME} is running on port 443"
echo "---------------"
echo "Database Information"
echo "${DB_TYPE} DB Name: ${DB_NAME}"
echo "${DB_TYPE} Username: root"
echo "${DB_TYPE} Password: ${DB_ROOT_PASSWORD}"
echo "${APP_NAME} DB User: ${DB_USER}"