3 Stimmen

capistrano deploy: Zugriff verweigert für Benutzer 'Root'@'localhost' (mit Passwort: YES) (Mysql::Error)

Ich habe versucht, ror Anwendung auf dem Produktionsserver bereitstellen, dann bekam diesen Fehler:

Access denied for user 'root'@'localhost' (using password: YES) (Mysql::Error)

aber wenn ich den Befehl:

rake db:migrate RAILS\_ENV=production

Es ist vorbei. Ich verbinde mich auch über die Kommandozeile mit mysql:

mysql -u root -p 

es ist durchgekommen, und ich kann sehen, dass alle Tabellen erstellt sind.

Ich arbeite an einem Zweig, in meiner deploy.rb habe ich den Zweig bereits festgelegt:

set :branch 'myBranch'

und in der apache2-Konfigurationsdatei habe ich auch rails_env gesetzt:

<VirtualHost \*:80>
  ServerName daemon.com
  DocumentRoot /home/hy/work/log/current/public/
  RailsEnv production
</VirtualHost>

Bitte um Hilfe, danke!

0voto

Jan Koriťák Punkte 866

Möglicherweise haben Sie dies bereits getan, aber ich schlage vor, dass Sie noch einmal überprüfen, ob Ihre config/environments/production.yml gültige Anmeldedaten enthält und in das Repository übertragen wurde.

Sie haben erwähnt, dass Sie versucht haben, die Migration manuell auf dem Server durchzuführen. Haben Sie die Migration von demselben Verzeichnis aus durchgeführt, in dem sich Ihre aktuell bereitgestellte Anwendung befindet?

(/home/hy/work/log/current)

0voto

Jeremie Punkte 2097

Ich weiß, dies ist alt, aber was Sie tun müssen, ist default_env in Ihrer deploy.rb-Datei zu setzen und Umgebungsvariablen zu setzen.

Etwa so:

set :default_env, { 
  'var1' => 'value1',
  'var2' => 'value2'
}

Dies funktioniert auch für Capistrano 3. Ich hoffe, dies hilft jedem, der über diese Frage stolpert.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X