2014-04-30 14 views
5

Próbuję wyłączyć serwer redis z redis-cli. Za każdym razem, gdy wydaję polecenie od klienta, pojawia się błąd "(błąd) Wymagane uwierzytelnianie NOAUTH." Próbowałem komend "SHUTDOWN" i "SHUTDOWN NOSAVE".shutdown redis-server z linii poleceń

Próbowałem również „stop Redis-serwera” z innym oknie terminala ale otrzymał błędzie „# Błąd krytyczny, nie można otworzyć pliku config«przystanek»”

Jak mogę zamknąć ten serwer? (Jestem na OSX).

Odpowiedz

9

Serwer Redis jest skonfigurowany z widocznym hasłem. Dlatego, używając redis-cli, musisz wydać komendę AUTH password przed jakimkolwiek innym poleceniem, inaczej otrzymasz komunikat o błędzie (zamień password przy użyciu hasła twojego serwera).

Można również wywołać redis-cli za pomocą przełącznika , a następnie hasła dla tego samego wyniku.

Aby znaleźć hasło do swojego serwera, otwórz plik konfiguracyjny Redis (domyślnie /etc/redis/6379.conf) i znajdź wiersz zaczynający się od requirepass - dowolna wartość obok niego to hasło.

+0

Dziękuję za odpowiedź. Skończyło się na zabiciu procesu redis-server od menedżera aktywności. Zamierzam odtworzyć zachowanie, które widziałem wcześniej i wypróbować bardziej cywilizowany sposób radzenia sobie z problemem. – trvslhlt

6

trzeba ręcznie edytować skrypt start/stop-Service:

sudo vi /etc/init.d/redis_6379 

Znajdź następujący wiersz:

$CLIEXEC -p $REDISPORT shutdown 

i zastąpić go następującym 'changeit' jest gdzie hasło idzie :

$CLIEXEC -p $REDISPORT -a changeit shutdown 

Teraz powinno być możliwe rozpoczęcie i zakończenie usługi bez żadnych problemów.

8
1. redis-cli 
2. auth yourpassword 
3. shutdown 
4. sudo service redis_6379 start 
+1

Czy możesz rozwinąć, dlaczego jest to poprawna odpowiedź i co robi, aby rozwiązać problem OP. –

0

Na przykład Amazon EC2 mogę ponownie uruchomić lokalną Redis tak:

sudo /etc/init.d/redis restart

PS: Jeśli używasz uwierzytelniania Redis, musisz podać parametr -a <pass>.