Ответ 1
Выходной файл создается процессом mysqld, а не клиентом. Поэтому выходной файл должен принадлежать uid и gid процесса mysqld.
Вы можете не использовать sudo для доступа к файлу, если вы получаете доступ к нему из процесса под uid или gid, которые могут получить доступ к файлу. Другими словами, если mysqld создает файлы, принадлежащие uid и gid "mysql" / "mysql" , добавьте свою собственную учетную запись в группу "mysql" . Затем вы сможете получить доступ к файлу, если режим разрешения файлов включает групповой доступ.
Edit:
Вы удаляете файл в /tmp с режимом разрешения каталога rwxrwxrwt. Липкий бит ('t') означает, что вы можете удалять файлы, только если ваш uid совпадает с владельцем файла, независимо от прав доступа к файлу или каталогу.
Если вы сохраните выходной файл в другом каталоге, у которого нет установленного липкого бита, вы должны иметь возможность нормально удалить файл.
Прочитайте этот отрывок из справочной страницы для липкой (8):
СТИЛЬНЫЕ ДИРЕКТОРИИ
Каталог, в котором установлен "липкий бит", становится каталогом только для контекста или, точнее, каталогом, в котором ограничение на удаление файлов ограничено. Файл в липкой директории может быть удален или переименован только пользователем, если у пользователя есть права на запись для каталога, а пользователь является владельцем файла, владельца каталога или суперпользователя. Эта функция удобно применять к каталогам, таким как /tmp, которые должны быть общедоступными, но должны лишить пользователей лицензии на произвольное удаление или переименование файлов друг друга.