Mulai Redis Server di direktori di mana Redis memiliki izin menulis
Jawaban di atas pasti akan menyelesaikan masalah Anda, tetapi inilah yang sebenarnya terjadi:
Lokasi default untuk menyimpan rdb.dump
file adalah ./
(menunjukkan direktori saat ini). Anda dapat memverifikasi ini di redis.conf
file Anda . Oleh karena itu, direktori dari mana Anda memulai server redis adalah tempat dump.rdb
file akan dibuat dan diperbarui.
Tampaknya Anda sudah mulai menjalankan server redis di direktori di mana redis tidak memiliki izin yang benar untuk membuat dump.rdb
file.
Lebih buruk lagi, redis mungkin juga tidak akan memungkinkan Anda untuk mematikan server sampai ia dapat membuat file rdb untuk memastikan penghematan data yang tepat.
Untuk mengatasi masalah ini, Anda harus masuk ke lingkungan klien redis aktif menggunakan redis-cli
dan memperbarui dir
kunci dan menetapkan nilainya ke folder proyek Anda atau folder apa pun di mana non-root memiliki izin untuk menyimpan. Kemudian jalankan BGSAVE
untuk menjalankan pembuatan dump.rdb
file.
CONFIG SET dir "/hardcoded/path/to/your/project/folder"
BGSAVE
(Sekarang, jika Anda perlu menyimpan file dump.rdb di direktori tempat Anda memulai server, maka Anda perlu mengubah izin untuk direktori tersebut sehingga redis dapat menulisnya. Anda dapat mencari stackoverflow untuk mengetahui cara melakukannya ).
Anda sekarang dapat mematikan server redis. Perhatikan bahwa kami menyandikan jalurnya. Hardcoding jarang merupakan praktik yang baik dan saya sangat merekomendasikan memulai server redis dari direktori proyek Anda dan mengubah dir key back to
. / `.
CONFIG SET dir "./"
BGSAVE
Dengan begitu ketika Anda perlu redis untuk proyek lain, file dump akan dibuat di direktori proyek Anda saat ini dan bukan di direktori proyek jalur hardcoded.