Я хочу взять резервное копирование базы данных 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 МБ. Что я должен попробовать.
Спасибо
Проблема состоит в том, что у Вас нет разрешения записать в /opt/lampp/htdocs/vivek.s
как Ваш обычный пользователь. Выполнение mysqldump
поскольку корень поднимает mysqldump (излишне), но перенаправление происходит с полномочиями оболочки - работающий как Ваш обычный пользователь.
Существует несколько обходных решений:
sudo -i
или sudo -s
. Вы не должны использовать sudo для выполнения следующей команды - mysqldump.Использовать tee
:
mysqldump-u корень-p vive.se | sudo кладут 07feb.sql для первого удара>/dev/null
Это выполнит процесс tee
как корень, пишущий одну копию в файл, и перенаправляя stdout к /dev/null
поскольку нам не нужен он.
Другое обходное решение должно было бы записать резервное копирование на местоположение, где у Вашего пользователя есть разрешение записи, например, Ваш корневой каталог.