Сценарий резервного копирования MySQLdump больше не работает, получая «mysqldump: неизвестная переменная« local-infile = 0 »» - PullRequest
0 голосов
/ 28 декабря 2018

Я недавно обновил сервер до Debian 9 и MySQL до последней версии.У меня есть простой скрипт резервного копирования, который я запускаю перед выполнением какой-либо работы на производственном сайте, но на этот раз, когда я запускаю свой скрипт, я сталкиваюсь со следующим:

mysqldump: unknown variable 'local-infile=0'

Вот мой скрипт.Что происходит?

#!/bin/bash
# [skipping commentary]

SITE=prod

# Set the directory that the Drupal root is IN, no trailing slashes
DROOT=[website_root]

# Set the directory for storing backups, no trailing slashes
BUD=/$DROOT/notes/backups

# Don't edit; End of defining variables
echo Doing a full back up...
echo Prepare to enter MySQL password...
# tar -czf $BUD/$SITE-files-$(date +'%Y%m%d%H%M%S').tgz  $DROOT/docroot
mysqldump -u mysql_user -p drupal > $BUD/$SITE-drupal-$(date +'%Y%m%d%H%M%S').sql
mysqldump -u mysql_user -p civicrm > $BUD/$SITE-civicrm-$(date +'%Y%m%d%H%M%S').sql
ls -lh $BUD
pwd
echo Finished with backups...

MySQL версия 10.1.37-MariaDB-0 + deb9u1 Debian 9.6

Редактировать: Когда я запускаю ssh и запускаю mysqldump с правильными разрешениями, я получаю ту же проблему.Самое странное, что cron, который запускает аналогичный процесс, выполняет резервное копирование моих баз данных в порядке.

1 Ответ

0 голосов
/ 28 декабря 2018

Похоже, новая версия, которую вы устанавливаете, компилируется без поддержки параметра local-infile.А поскольку система управления пакетами (обычно) сохраняет ваш текущий файл конфигурации, вы можете попытаться найти этот параметр в файле my.ini и прокомментировать его.

Этот параметр управляет функциональностью LOAD DATA LOCAL.Но похоже, что у этого есть некоторые потенциальные проблемы безопасности ( больше здесь )

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...