Der MySQL-Treiber von Ruby on Rails kann keine Verbindung herstellen, MySQL-Clients / Telnet können dies

  • Ich habe ein merkwürdiges Problem mit dem mysql2-Gem. Ich habe einen Dreamhost-VPS und einen Dreamhost-MySQL-VPS. Wenn Sie vom VPS zum MySQL VPS wechseln, funktioniert die folgende database.yml einwandfrei:

     production:
      adapter: mysql2
      encoding: utf8
      reconnect: false
      database: [redacted]
      pool: 15
      username: [redacted]
      password: [redacted]
      host: mysql.medlapps.com
     

    Ausführen von rails s -e=production Auf meinem MacBook oder demselben Code führt der neue dedizierte Limestone-Server zu einem Verbindungsfehler:

     /Library/Ruby/Gems/1.8/gems/mysql2-0.3.7/lib/mysql2/client.rb:43:in `connect': Can't connect to MySQL server on 'mysql.medlapps.com' (61) (Mysql2::Error)
     

    The MySQL VPS erlaubt Verbindungen außerhalb des Dreamhost-Netzwerks. Bei Verwendung von Liya (einem Mac OS X MySQL-GUI-Client) sowie telnet mysql.medlapps.com 3306 können beide ohne Probleme miteinander verbunden werden. Dies ist nur ein Problem mit dem mysql2-Gem oder dessen Konfiguration.

    Bearbeiten: mysql -h mysql.medlapps.com -u [redacted] -p[redacted] funktioniert auch auf unserem neuen dedizierten Server. Dies lässt mich glauben, dass es sich um ein Problem mit dem mysql2-Treiber / Rails oder dessen Konfiguration handelt.

    Bearbeiten 2: Es stellt sich heraus, dass dies kein Problem mit MySQL oder mysql2 gem ist. Beim Start wird etwas anderes nicht geladen. Das Ausführen einer einfachen Hallo-Welt Rails-App funktioniert mit unserer neuen dedizierten Box gut. Das Problem ist jedoch, dass unsere Website-App nicht im Produktionsmodus ausgeführt wird. Der Server hängt und gibt keine Fehler. Bleibt auf dem Laufenden, wenn wir das Problem herausfinden.

    Irgendwelche Gedanken / Hilfe wäre sehr dankbar!

    22 November 2011
    Andrew Theis
0 answers