2014-04-30 8 views
5

J'essaye de fermer mon serveur redis à partir d'un redis-cli. Chaque fois que j'émets une commande d'un client, je reçois l'erreur "(erreur) NOAUTH Authentication required." J'ai essayé les commandes "SHUTDOWN" et "SHUTDOWN NOSAVE".shutdown redis-server à partir de la ligne de commande

J'ai aussi essayé « Redis-serveur arrêt » d'une autre fenêtre de terminal, mais a reçu l'erreur « # Erreur fatale, ne peut pas le fichier de configuration ouvert « stop » »

Comment puis-je arrêter ce serveur? (je suis sur OSX).

Répondre

9

Votre serveur Redis est configuré avec un mot de passe apparemment. Par conséquent, lorsque vous utilisez redis-cli, vous devez exécuter la commande AUTH password avant toute autre commande sinon vous obtiendrez ce message d'erreur (remplacez password par le mot de passe de votre serveur).

Vous pouvez également appeler redis-cli avec le commutateur -a suivi de votre mot de passe pour obtenir le même résultat. Pour trouver le mot de passe de votre serveur, ouvrez le fichier de configuration Redis (par défaut /etc/redis/6379.conf) et cherchez la ligne commençant par requirepass - quelle que soit la valeur qui lui est associée, c'est le mot de passe.

+0

Merci pour la réponse. J'ai fini par tuer le processus redis-server du gestionnaire d'activité. Je vais recréer le comportement que je voyais plus tôt et essayer votre façon plus civilisée de gérer le problème. – trvslhlt

6

Vous devez modifier manuellement le script de démarrage/service arrêt:

sudo vi /etc/init.d/redis_6379 

Trouver la ligne suivante:

$CLIEXEC -p $REDISPORT shutdown 

et le remplacer par le texte suivant: « changeit » est où votre mot de passe passe :

$CLIEXEC -p $REDISPORT -a changeit shutdown 

Vous devriez maintenant pouvoir démarrer et arrêter le service sans aucun problème.

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

Pouvez-vous expliquer pourquoi c'est la bonne réponse et ce qu'elle fait pour résoudre le problème du PO? –

0

sur l'instance Amazon EC2 je pouvais redémarrer Redis locale comme ceci:

sudo /etc/init.d/redis restart

post-scriptum Si vous utilisez l'authentification Redis, vous devez passer le paramètre -a <pass>.

Questions connexes