Bug 41353: koha-dump failing on mysqldump PROCESS privileges
Problem:
Starting from MySQL 5.7.31 and MySQL 8.0.20, mysqldump requires the
PROCESS privilege to access tablespace metadata by default. Without
this privilege, backup operations fail with permission errors.
Solution:
Add the --no-tablespaces flag to the dbflag variable. This prevents
mysqldump from attempting to access tablespace metadata, allowing
backups to complete successfully without requiring the PROCESS privilege.
Test Plan:
1. Set up a MySQL instance (5.7.31+ or 8.0.20+) without PROCESS privilege for the Koha database user
2. Run the koha-dump script for a Koha instance:
sudo koha-dump kohadev
3. Notice the backup fails with a PROCESS privilege error
4. Apply the patch
5. Copy debian/scripts/koha-dump to /usr/sbin/koha-dump
6. Repeat step 2
7. Notice the backup now completes successfully without permission errors
8. Test restoring the dump to ensure it's valid:
zcat /var/spool/koha/kohadev/kohadev-<date>.sql.gz | tail
9. Sign-off
Signed-off-by: David Nind <david@davidnind.com>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
Signed-off-by: Lucas Gass <lucas@bywatersolutions.com>
This commit is contained in:
parent
b74f544231
commit
1f325d5799
|
|
@ -76,7 +76,7 @@ dump_instance()
|
||||||
backupdir="$( xmlstarlet sel -t -v 'yazgfs/config/backupdir' $kohaconfig || true )"
|
backupdir="$( xmlstarlet sel -t -v 'yazgfs/config/backupdir' $kohaconfig || true )"
|
||||||
[ -z "$backupdir" ] && backupdir="/var/spool/koha/$name"
|
[ -z "$backupdir" ] && backupdir="/var/spool/koha/$name"
|
||||||
dbdump="$backupdir/$name-$date.sql.gz"
|
dbdump="$backupdir/$name-$date.sql.gz"
|
||||||
dbflag="--databases"
|
dbflag="--no-tablespaces --databases"
|
||||||
[ "$without_db_name" = "yes" ] && dbflag=""
|
[ "$without_db_name" = "yes" ] && dbflag=""
|
||||||
if [ "$schema_only" = "yes" ]
|
if [ "$schema_only" = "yes" ]
|
||||||
then
|
then
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue