So verwenden Sie MySQL mit Ihrer Ruby on Rails-Anwendung unter Ubuntu 14.04

Einführung

Ruby on Rails verwendet sqlite3 als Standarddatenbank, was in vielen Fällen sehr gut funktioniert, für Ihre Anwendung jedoch möglicherweise nicht ausreicht. Wenn Ihre Anwendung die Skalierbarkeit, Zentralisierung und Steuerung (oder eine andere Funktion) einer Client / Server-SQL-Datenbank erfordert, z. B. https://www.digitalocean.com/community/tutorials/sqlite-vs-mysql-vs-postgresql -a-Vergleich-von-relationalen-Datenbank-Management-Systemen [PostgreSQL oder MySQL], müssen Sie ein paar zusätzliche Schritte ausführen, um es zum Laufen zu bringen.

Dieses Tutorial zeigt Ihnen, wie Sie eine Ruby on Rails-Entwicklungsumgebung einrichten, mit der Ihre Anwendungen eine MySQL-Datenbank auf einem Ubuntu 14.04-Server verwenden können. Zunächst wird beschrieben, wie MySQL und der MySQL-Adapter gem installiert werden. Anschließend zeigen wir Ihnen, wie Sie eine Rails-Anwendung erstellen, die MySQL als Datenbankserver verwendet.

Voraussetzungen

Für dieses Tutorial ist eine funktionierende Ruby on Rails-Entwicklungsumgebung erforderlich. Wenn Sie das noch nicht haben, können Sie dem Tutorial in diesem Link folgen: https://www.digitalocean.com/community/tutorials/how-to-install-ruby-on-rails-with-rbenv-on-ubuntu -14-04 [So installieren Sie Ruby on Rails mit rbenv unter Ubuntu 14.04].

Sie müssen auch Zugriff auf einen Superuser oder ein "+ sudo +" - Konto haben, damit Sie die MySQL-Datenbanksoftware installieren können.

Sobald Sie fertig sind, installieren wir MySQL.

Installieren Sie MySQL

Wenn Sie MySQL noch nicht installiert haben, machen wir das jetzt.

Aktualisieren Sie zunächst apt-get:

sudo apt-get update

Dann installieren Sie MySQL und seine Entwicklungsbibliotheken:

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

Während der Installation werden Sie von Ihrem Server aufgefordert, ein Kennwort für den MySQL-Root-Benutzer auszuwählen und zu bestätigen.

Nach Abschluss der Installation müssen wir einige zusätzliche Befehle ausführen, um unsere MySQL-Umgebung sicher einzurichten. Zuerst müssen wir MySQL anweisen, seine Datenbankverzeichnisstruktur zu erstellen, in der die Informationen gespeichert werden. Sie können dies tun, indem Sie Folgendes eingeben:

sudo mysql_install_db

Anschließend möchten wir ein einfaches Sicherheitsskript ausführen, das einige gefährliche Standardeinstellungen entfernt und den Zugriff auf unser Datenbanksystem ein wenig sperrt. Starten Sie das interaktive Skript, indem Sie Folgendes ausführen:

sudo mysql_secure_installation

Sie werden aufgefordert, das Kennwort einzugeben, das Sie für das MySQL-Root-Konto festgelegt haben. Als nächstes werden Sie gefragt, ob Sie dieses Passwort ändern möchten. Wenn Sie mit Ihrem aktuellen Passwort zufrieden sind, geben Sie an der Eingabeaufforderung "+ n +" ein.

Bei den restlichen Fragen drücken Sie einfach bei jeder Eingabeaufforderung die EINGABETASTE, um die Standardwerte zu akzeptieren. Dadurch werden einige Beispielbenutzer und -datenbanken entfernt, Remotestammanmeldungen deaktiviert und diese neuen Regeln geladen, sodass MySQL die von uns vorgenommenen Änderungen sofort berücksichtigt.

MySQL ist jetzt installiert, aber das MySQL-Gem muss noch installiert werden.

Installieren Sie MySQL Gem

Bevor Ihre Rails-Anwendung eine Verbindung zu einem MySQL-Server herstellen kann, müssen Sie den MySQL-Adapter installieren. Das Gem + mysql2 + bietet diese Funktionalität.

Installieren Sie als Rails-Benutzer das Gem + mysql2 + wie folgt:

gem install mysql2

Jetzt können Ihre Rails-Anwendungen MySQL-Datenbanken verwenden.

Neue Rails-Anwendung erstellen

Erstellen Sie eine neue Rails-Anwendung in Ihrem Home-Verzeichnis. Verwenden Sie die Option "+ -d mysql +", um MySQL als Datenbank festzulegen, und achten Sie darauf, das hervorgehobene Wort durch Ihren Anwendungsnamen zu ersetzen:

cd ~
rails new  -d mysql

Wechseln Sie dann in das Anwendungsverzeichnis:

cd

Im nächsten Schritt konfigurieren Sie die Datenbankverbindung der Anwendung.

Datenbankverbindung konfigurieren

Wenn Sie die Anweisungen zur Installation von MySQL in diesem Tutorial befolgt haben, legen Sie ein Kennwort für den Root-Benutzer von MySQL fest. Das MySQL-Root-Login wird verwendet, um die Test- und Entwicklungsdatenbank Ihrer Anwendung zu erstellen.

Öffnen Sie die Datenbankkonfigurationsdatei Ihrer Anwendung in Ihrem bevorzugten Texteditor. Wir verwenden vi:

vi config/database.yml

Suchen Sie im Abschnitt "+ default +" die Zeile "password:" und fügen Sie das Kennwort am Ende hinzu. Es sollte ungefähr so ​​aussehen (ersetzen Sie den markierten Teil durch Ihr MySQL-Root-Passwort):

password:

Speichern und schließen.

Erstellen Sie Anwendungsdatenbanken

Erstellen Sie Ihre Anwendungs-Entwicklungs- und -Test-Datenbanken mit diesem Rake-Befehl:

rake db:create

Dadurch werden zwei Datenbanken auf Ihrem MySQL-Server erstellt. Wenn der Name Ihrer Anwendung beispielsweise "Anwendungsname" lautet, werden Datenbanken mit den Namen "Anwendungsname_Entwicklung" und "Anwendungsname_Test" erstellt.

Wenn Sie eine Fehlermeldung erhalten, die besagt, dass der Zugriff für den Benutzer "root" @ "localhost" verweigert wurde (mit dem Passwort: JA), geben Sie das root-Passwort für Ihre MySQL-Installation ein. Drücken Sie zum Beenden "+ Strg-c ". Überprüfen Sie dann den vorherigen Unterabschnitt (Configure Database Connection), um sicherzustellen, dass das Kennwort in ` database.yml +` korrekt ist. Versuchen Sie erneut, die Anwendungsdatenbanken zu erstellen, nachdem Sie sichergestellt haben, dass das Kennwort korrekt ist.

Konfiguration testen

Am einfachsten können Sie testen, ob Ihre Anwendung die MySQL-Datenbank verwenden kann, indem Sie versuchen, sie auszuführen.

Verwenden Sie zum Ausführen der Entwicklungsumgebung (Standardeinstellung) beispielsweise den folgenden Befehl:

rails server

Dadurch wird Ihre Rails-Anwendung auf Ihrem lokalen Host auf Port 3000 gestartet.

Wenn sich Ihre Rails-Anwendung auf einem Remote-Server befindet und Sie über einen Webbrowser darauf zugreifen möchten, können Sie sie auf einfache Weise an die öffentliche IP-Adresse Ihres Servers binden. Suchen Sie zuerst die öffentliche IP-Adresse Ihres Servers und verwenden Sie sie dann mit dem Befehl + rail server + wie folgt:

rails server --binding=

Jetzt sollten Sie in einem Webbrowser über die öffentliche IP-Adresse des Servers auf Port 3000 auf Ihre Rails-Anwendung zugreifen können:

http://:3000

Wenn die Ruby on Rails-Seite "Willkommen an Bord" angezeigt wird, ist Ihre Anwendung ordnungsgemäß konfiguriert und mit der MySQL-Datenbank verbunden.

Fazit

Sie können jetzt mit der Entwicklung Ihrer Ruby on Rails-Anwendung beginnen, mit MySQL als Datenbank unter Ubuntu 14.04!

Viel Glück!