Bagaimana saya bisa mengembalikan file ketika akun saya tidak diberikan akses?

1

Saya memiliki database MySQL yang sangat rusak, jadi saya mencoba mengembalikan file dari cadangan baru-baru ini (snapshot mesin waktu lokal), tetapi gagal dengan kesalahan:

Operasi tidak dapat diselesaikan karena Anda tidak memiliki izin untuk mengakses beberapa item.

Bagaimana saya bisa mengembalikan file-file ini?

Dalam mencoba, saya menambahkan akun saya ke grup "_mysql" dengan dseditgroup( groupssekarang mencantumkan saya sebagai grup "_mysql"), yang seharusnya diberikan akses baca / tulis ke semua file dan folder, dan mencoba memulihkan dari Time Machine lagi dengan hasil yang sama. Folder juga masih menampilkan overlay ikon "tidak dapat diakses" (⛔️) di Finder. Saya dapat menyalin (sedikit) versi lama dari file yang disimpan pada drive Time Machine eksternal dari shell dengan sudo ditto, tetapi mendapatkan kesalahan izin dari MySQLd ketika mencoba membaca salah satu file (indeks log biner).

Komputer menjalankan OS X 10.12.6.

outis
sumber

Jawaban:

2

Saya dapat mengakses snapshot lokal di "/.MobileBackups/Computer/" melalui baris perintah. Sayangnya, saya menonaktifkan cadangan Time Machine otomatis, tidak tahu bahwa ini akan menghapus semua foto lokal.

File-file dari cadangan Time Machine eksternal memiliki ACL yang melarang semua akses tulis ke direktori dan file database (diungkapkan dengan ls -le). Menghapus ACL dengan chmod -RN $dirakses yang diberikan (tidak ada lagi kesalahan izin ketika MySQLd berjalan).

outis
sumber
1
Saya akan menambahkan Anda mungkin perlu memberikan terminal.app (atau aplikasi apa pun yang membuka shell Anda) akses disk penuh untuk mengatasi pembatasan file sandbox. Itu ada di System Preferences dan akan dibutuhkan oleh siapa pun di Mojave yang mencoba ini. Jawaban yang bagus - terima kasih telah memposting.
bmike