Wie Sie MySQL mit Ihrer Ruby on Rails-Anwendung verwenden können

Ruby on Rails verwendet standardmäßig SQLite als Datenbank, unterstützt aber auch die Verwendung von MySQL. SQLite ist eine ausgezeichnete Alternative zu einer traditionellen Datenbank wie MySQL, hat aber einige Einschränkungen, insbesondere in Bezug auf Parallelität und Skalierung auf eine hohe Last, was MySQL zu einer besseren Wahl für Ihr Projekt machen kann.

Hinweis

Alle Befehle in diesem Tutorial müssen als Rails-Benutzer ausgegeben werden. Dies ist das Benutzerkonto, mit dem Sie Ruby on Rails installiert und ausgeführt haben.

Mehr als nur eine Domain!

Hier finden Sie Ihre perfekte Domain - z.B. .de Domain + persönlicher Berater

E-Mail-Postfach
24/7 Support
Wildcard SSL

Anforderungen

  • Ein Cloud Server unter Linux (Ubuntu 16.04)
  • MySQL wurde installiert und läuft.
  • Das MySQL-Root-Passwort.
  • Ruby on Rails installiert und läuft.
  • Eine grundlegende Vertrautheit mit Ruby on Rails.

Hinzufügen des MySQL-Juwels

Um den MySQL-Client und die Entwicklungsbibliotheken zu installieren, führen Sie die folgenden Befehle aus:

sudo apt-get update
sudo apt-get install mysql-client libmysqlclient-dev

Sobald die Installation abgeschlossen ist, installieren Sie den mysql2-Juwel, der es Rails ermöglicht, eine Verbindung zu MySQL herzustellen:

gem install mysql2

Konfigurieren der Rails-Anwendung

Der nächste Schritt ist die Aktivierung des MySQL-Supports in Ihrer Ruby on Rails-Anwendung.

Erstellen der Anwendung

Erstellen Sie zunächst die Anwendung mit dem -d mysql-Flag:

rails new [application name] -d mysql

Der Befehl zum Erstellen einer Anwendung namens my-app lautet beispielsweise:

rails new my-app -d mysql

Das Flag -d teilt Ruby on Rails mit, dass Sie MySQL für diese Anwendung verwenden werden.

Root MySQL Password

Für den nächsten Schritt benötigen Sie das MySQL-Root-Passwort. Standardmäßig ist dies das gleiche wie das Passwort für den Root-Server-Benutzer, als der Server gebaut wurde.

Um sich als Administrator bei MySQL anzumelden, geben Sie den folgenden Befehl ein:

mysql -u root -p

Sie werden aufgefordert, ein Passwort einzugeben.

Wenn das Passwort korrekt ist, werden Sie am MySQL-Client angemeldet. Sie können die Befehlszeile wieder mit verlassen:

quit;

Dedicated Server von IONOS

Hardware trifft Cloud: Dedicated Server mit Cloud-Integration und mit minutengenauer Abrechnung, inklusive persönlichem Berater!

24/7 Support
Unbegrenzter Traffic
SSL Zertifikat

Bearbeiten der Konfigurationsdatei der Anwendung

Als nächstes wechseln Sie in das Verzeichnis, das Ruby on Rails für die Anwendung erstellt hat:

cd my-app

Bearbeiten Sie die Datei config/database.yml:

nano config/database.yml

Scrollen Sie nach unten zum Passwort: Zeile im Standardabschnitt und fügen Sie das MySQL-Root-Passwort hinzu:

password: [MySQL password]

Wenn das MySQL-Root-Passwort beispielsweise "XPmMxZf" lautet, bearbeiten Sie die zu lesende Zeile:

password: XPmMxZf

Speichern und beenden Sie die Datei.

Erstellen der neuen Anwendungsdatenbanken

Verwenden Sie den folgenden Rake-Befehl, um die Datenbanken für Ihre Anwendung zu erstellen:

rake db:create

Testen der Konfiguration

Um die Konfiguration zu testen, starten Sie einfach die rails-Anwendung und überprüfen Sie sie in einem Browser.

Verwenden Sie den Befehl aus dem Verzeichnis der Anwendung:

bin/rails s --binding=0.0.0.0 
Hinweis

Wenn Sie den Server an 0.0.0.0.0.0 binden, können Sie die Anwendung mit der öffentlichen IP-Adresse Ihres Servers anzeigen.

Der Server sollte mit antworten:

[user@localhost my-app]$ bin/rails server
=> Booting Puma
=> Rails 5.0.0.1 application starting in development on http://localhost:3000
=> Run `rails server -h` for more startup options
Puma starting in single mode...
* Version 3.6.0 (ruby 2.3.1-p112), codename: Sleepy Sunday Serenity
* Min threads: 5, max threads: 5
* Environment: development
* Listening on tcp://localhost:3000
Use Ctrl-C to stop

Wechseln Sie zu einem Browser und besuchen Sie "http://your-ip-address:3000". Wenn Ihre IP-Adresse beispielsweise 198.162.0.1 lautet, gehen Sie zu http://198.162.0:3000.

Wenn alles in Ordnung ist und Rails in der Lage ist, sich mit MySQL zu verbinden, sehen Sie die standardmäßige Rails-Grußseite.