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.
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.
- Inklusive Wildcard-SSL-Zertifikat
- Inklusive Domain Lock
- Inklusive 2 GB E-Mail-Postfach
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;
- 100 % Enterprise-Hardware
- Minutengenaue Abrechnung
- Nur bei uns: Cloud-Funktionen
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
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.