Резервное копирование базы данных

Я хочу взять резервное копирование базы данных Xampp, доступной в/opt/lampp/var/mysql, 'но я не могу сделать это. Я использовал ниже команды

/opt/lampp/htdocs/vivek.s$ sudo mysqldump-u базируются-p vive.se> 07feb.sql

и

/opt/lampp/htdocs/vivek.s$ sudo mysqldump-h базируются-u корень-p vive.se> 07feb.sql

Результат - то же

удар: 07feb.sql: Разрешение отклонено

Затем я использовал

sudo-s

sudo mysqldump-u базируются-p vive.se> 07feb.sql

Результат

sudo: mysqldump: команда, не найденная

и это создало Пустой файл, названный 07feb.sql в/opt/lampp/htdocs/vivek.s

Что не так, в то время как я видел, что мой друг использовал ту же команду, и он получил резервное копирование базы данных 95 МБ. Что я должен попробовать.

Спасибо

0
задан 7 February 2018 в 11:12

1 ответ

Проблема состоит в том, что у Вас нет разрешения записать в /opt/lampp/htdocs/vivek.s как Ваш обычный пользователь. Выполнение mysqldump поскольку корень поднимает mysqldump (излишне), но перенаправление происходит с полномочиями оболочки - работающий как Ваш обычный пользователь.

Существует несколько обходных решений:

  1. Запустите корневую оболочку, например. sudo -i или sudo -s. Вы не должны использовать sudo для выполнения следующей команды - mysqldump.
  2. Использовать tee:

    mysqldump-u корень-p vive.se | sudo кладут 07feb.sql для первого удара>/dev/null

Это выполнит процесс tee как корень, пишущий одну копию в файл, и перенаправляя stdout к /dev/null поскольку нам не нужен он.

Другое обходное решение должно было бы записать резервное копирование на местоположение, где у Вашего пользователя есть разрешение записи, например, Ваш корневой каталог.

3
ответ дан 31 October 2019 в 01:37

Другие вопросы по тегам:

Похожие вопросы: