Запустіть Redis Server у каталог, де Redis має дозволи на запис
Відповіді вище, безумовно, вирішать вашу проблему, але ось що насправді відбувається:
Місце для зберігання rdb.dump
файлу за замовчуванням ./
(позначає поточну директорію). Ви можете підтвердити це у своєму redis.conf
файлі. Тому каталог, з якого ви запускаєте сервер redis, - це те, де dump.rdb
буде створений і оновлений файл.
Здається, ви почали запускати сервер redis в каталозі, де redis не має правильних дозволів для створення dump.rdb
файлу.
Що ще гірше, Redis також, ймовірно, не дозволить вам відключити сервер, поки він не зможе створити файл rdb для забезпечення належного збереження даних.
Щоб вирішити цю проблему, ви повинні зайти в активне клієнтське середовище redis, використовуючи redis-cli
та оновити dir
ключ, і встановити його значення в папці проекту або будь-якій папці, де не-root має дозволи зберегти. Потім запустіть, BGSAVE
щоб викликати створення dump.rdb
файлу.
CONFIG SET dir "/hardcoded/path/to/your/project/folder"
BGSAVE
(Тепер, якщо вам потрібно зберегти файл dump.rdb в каталозі, в якому ви запустили сервер, вам потрібно буде змінити дозволи для каталогу, щоб Redis міг писати в нього. Ви можете шукати stackoverflow, як це зробити. ).
Тепер ви маєте змогу вимкнути сервер redis. Зауважте, що ми твердо кодували шлях. Жорстке кодування рідко є доброю практикою, і я настійно рекомендую запустити сервер redis зі свого каталогу проекту та змінити dir key back to
. / `.
CONFIG SET dir "./"
BGSAVE
Таким чином, коли вам знадобиться редагувати для іншого проекту, файл дампа буде створений у каталозі поточного проекту, а не в каталозі проектів жорсткого коду.