Terug naar blog

MySQL gebruiken met Ruby on Rails-app op Ubuntu 21.04

MySQL gebruiken met Ruby on Rails-app op Ubuntu 21.04

Ruby is een krachtige programmeertaal. Het is een geïnterpreteerde, high-level programmeertaal voor algemene doeleinden die meerdere programmeerparadigma’s combineert. Yukihiro Matsumoto, de maker van Ruby, combineerde verschillende delen van zijn favoriete programmeertalen zoals Perl, Ada, Lisp, Eiffel, Smalltalk, enz., en creëerde Ruby. In zijn eigen woorden was hij van plan om Ruby “natuurlijker, niet eenvoudig”.

Veel van de populariteit van Ruby komt van Ruby on Rails. Het is een krachtig webframework gebouwd op Ruby. Het dient als backend voor tal van webapplicaties, bijvoorbeeld Airbnb, Spotify, GitHub, SoundCloud en meer. De filosofie van Ruby on Rails is om een intuïtief framework te bieden om het bouwen van robuuste en krachtige webpagina's te versnellen.

Als webframework kan Ruby on Rails werken met populaire database-engines, bijvoorbeeld SQLite, MySQL/MariaDB, en PostgreSQL. Deze gids laat zien hoe u de basis bouwt van een Ruby on Rails-app die MySQL als database-engine gebruikt.

Vereisten

  • Alle stappen die in deze gids worden gedemonstreerd, worden uitgevoerd op Ubuntu 21.04. Lees hier meer over het hier opzetten van een Ubuntu-server.
  • We laten ook een snelle demonstratie zien van het installeren en configureren van een MySQL-server. Raadpleeg voor meer informatie deze gids over het opzetten van MySQL.
  • Voor het installeren en beheren van Ruby gebruiken we rbenv. Het is een tool die is ontworpen om de Ruby-omgeving te beheren. Vergeleken met RVM, rbenv heeft zijn eigen verschillen.

Stap 1: MySQL installeren en configureren

MySQL zal dienen als de database-backend voor onze Ruby on Rails-app. Ervan uitgaande dat u MySQL nog niet heeft geïnstalleerd en geconfigureerd, volgt u deze stappen. Start een terminal en update de APT cache:

MySQL with Ruby on Rails code screenshot 1

Installeer vervolgens de MySQL-componenten:

MySQL with Ruby on Rails code screenshot 2

Zonda de installatie is voltooid, voert u het volgende MySQL-script uit. Dit voert een snelle configuratie na de installatie uit:

Het script zal verschillende vragen stellen. Voltooi de stappen om de initiële configuratie af te ronden:

MySQL with Ruby on Rails code screenshot 4

3

4

MySQL with Ruby on Rails code screenshot 5

  • Extra stap

De volgende stap is optioneel en mag alleen worden uitgevoerd als verderop in de handleiding Ruby on Rails geen verbinding kan maken met de MySQL-server. Hiermee wordt de root-gebruiker in MySQL ingesteld om mysql_native_password te gebruiken om traditionele wachtwoordlogins toe te staan. Krijg toegang tot het root account op Ubuntu:

Start nu de MySQL root shell zonder wachtwoordcontrole:

Voer vervolgens de volgende query uit om het wachtwoord te wijzigen en mysql_native_password in te stellen als de authenticatiemethode:

MySQL with Ruby on Rails code screenshot 6

Stap 2: Ruby en Ruby on Rails installeren en configureren

Onze databaseserver is klaar voor productie. We moeten nu Ruby installeren. Zoals eerder vermeld, gebruiken we rbenv als de Ruby-versiebeheerder voor ons project. Ruby on Rails is beschikbaar als een Ruby-gem.

  • rbenv installeren

De Ruby-beheerder rbenv is rechtstreeks beschikbaar vanaf de officiële Ubuntu-pakketserver. Bekijk voor andere distributies de officiële rbenv-installatiehandleiding.

Start een terminal en installeer het meteen:

MySQL with Ruby on Rails code screenshot 7

Vervolgens moeten we rbenv integreren met de standaardshell. Voer het volgende rbenv -commando uit:

MySQL with Ruby on Rails code screenshot 8

Zoals de uitvoer aangeeft, moeten we voor bash de regel opnemen in het lokale bashrc-bestand. Zonder al te veel in detail te treden, wordt het bashrc-bestand geladen telkens wanneer de gebruiker een nieuwe shell opent in de interactieve modus. Open het bestand in een teksteditor en voeg de volgende tekst toe:

nano

Sla het bestand op en sluit de editor. Het wordt aanbevolen om de terminal opnieuw op te starten om de wijzigingen door te voeren. Als alternatief kunt u het bashrc-bestand opnieuw laden in de huidige shell:

Vervolgens installeren we een rbenv plugin om ondersteuning te bieden voor het rbenv install commando. Deze plugin is direct beschikbaar vanaf de rbenv GitHub-repo. Voer de volgende commando's uit:

git clone

Om onze rbenv configuratie te testen, voer het rbenv-doctor script uit:

curl

Het zal controleren op verschillende componenten en rapporteren of alles in orde is.

  • Ruby installeren

Zodra rbenv is geconfigureerd, zijn we klaar om Ruby te installeren. Het volgende commando toont alle beschikbare versies van Ruby:

rbenv install -l

De uitvoer zal wat lang zijn, dus het is aan te raden om deze door more of less te sluizen voor beter bladeren. De lijst bevat ook verschillende builds van Ruby. Voor deze handleiding richten we ons op de nieuwste officiële Ruby-build. Op het moment van schrijven van dit artikel is dat Ruby v3.0.3.

Installeer nu Ruby:

rbenv install

Het volgende commando stelt de geïnstalleerde Ruby in als de globale versie die beschikbaar is voor alle applicaties:

Controleer de Ruby-installatie:

ruby

  • Ruby on Rails installeren

Het webframework is beschikbaar als een gem voor Ruby. Hoewel Ruby on Rails direct beschikbaar is vanaf de Ubuntu-pakketservers, biedt het installeren als een gem meer flexibiliteit.

Installeer eerst de gem Bundler. Dit is een tool die gem-afhankelijkheden oplost. Rails is hier afhankelijk van:

gem install bundler

Het uitvoeren van het volgende commando installeert de nieuwste stabiele versie van Ruby on Rails als een gem:

gem install rails

Als je een specifieke versie geïnstalleerd wilt hebben, ziet de commandostructuur er als volgt uit:

Zodra de gems zijn geïnstalleerd, voer je het volgende commando uit:

rbenv rehash

De Ruby-manager rbenv werkt door speciale mappen aan te maken voor shims die verwijzen naar de bestanden van de momenteel ingeschakelde Ruby-versie. Het rehash subcommando vertelt rbenv om shims in die map bij te houden die overeenkomen met elk Ruby-commando over elke geïnstalleerde versie van Ruby op de server. Dit moet elke keer worden uitgevoerd wanneer je een nieuwe versie van Ruby installeert of een gem die commando's biedt die vergelijkbaar zijn met Rails.

Controleer de Rails-installatie:

rails

Stap 3: MySQL-gem installeren

Om verbinding te maken met de MySQL-server heeft Rails een adapter nodig. We gebruiken de mysql2 gem voor deze functionaliteit. Installeer de mysql2 gem:

gem install mysql2

Stap 4: Een nieuwe Rails-app maken en configureren

  • Een voorbeeld-app maken

Tot nu toe hebben we alle benodigde componenten geconfigureerd om onze Rails-app op te zetten. Het volgende commando maakt een speciale map aan voor de app en plaatst alle benodigde bestanden met MySQL-ondersteuning:

rails new

  • MySQL-verbinding configureren

Nu moeten we de benodigde MySQL-informatie invoeren zodat Rails verbinding kan maken met de database en gegevens kan uitwisselen. Standaard maakt Rails verbinding met MySQL als root. Open het Rails-databaseconfiguratiebestand:

nano config

Scrol omlaag naar de volgende sectie en voer het root-wachtwoord voor MySQL in. Sla vervolgens het bestand op en sluit de editor.

  • Database-wijzigingen doorvoeren

Als alles goed is gegaan, zou Rails nu verbinding moeten kunnen maken met MySQL en de benodigde database-bewerkingen moeten kunnen uitvoeren. Het volgende commando maakt de benodigde databases aan:

rake db

Stap 5: De configuratie testen

Start the Rails development server:

rails server

Je zou de welkomstpagina moeten kunnen openen op de volgende URL:

URL

Tot slot

In deze handleiding hebben we Ruby geïnstalleerd met behulp van rbenv, de Rails-gem geïnstalleerd en een voorbeeld-Rails-app geconfigureerd om verbinding te maken met MySQL en dit te gebruiken als database-engine. Het dient als een uitstekend skelet voor een schaalbare en gecentraliseerde web-app.

Om te leren hoe je Ruby on Rails installeert met RVM op Ubuntu 20.04, bekijk de volgende handleiding Ruby on Rails installeren met RVM op Ubuntu 20.04. Om te leren hoe je Ruby on Rails instelt met PostgreSQL, bekijk de volgende handleiding: Ruby on Rails instellen met PostgreSQL.

Veel computerplezier!

author

Hark Labs

Auteur · CloudSigma

Preslav Dobrev is een creatief ontwerper bij CloudSigma, met de nadruk op een consistente bedrijfsidentiteit door middel van traditionele en innovatieve marketingkanalen. Hij is bedreven in het samenvoegen van artistieke visie met strategische marketing om impactvolle merkverhalen te creëren.

Reacties

Nog geen reacties. Wees de eerste.