Powrót do bloga

Używanie MySQL z aplikacją Ruby on Rails na Ubuntu 21.04

Używanie MySQL z aplikacją Ruby on Rails na Ubuntu 21.04

Ruby to potężny język programowania. Jest to interpretowany, wysokopoziomowy język ogólnego przeznaczenia, który łączy w sobie wiele paradygmatów programowania. Yukihiro Matsumoto, twórca języka Ruby, połączył różne elementy swoich ulubionych języków programowania, takich jak Perl, Ada, Lisp, Eiffel, Smalltalk itp., i stworzył Ruby. Jak sam mówi, jego intencją było uczynienie języka Ruby „bardziej naturalnym, a nie prostym”.

Większość popularności języka Ruby wynika z Ruby on Rails. To potężny framework webowy zbudowany na bazie języka Ruby. Służy jako backend dla wielu aplikacji internetowych, na przykład Airbnb, Spotify, GitHub, SoundCloud i innych. Filozofią Ruby on Rails jest oferowanie intuicyjnego frameworka w celu przyspieszenia budowy solidnych i wydajnych stron internetowych.

Jako framework webowy, Ruby on Rails może współpracować z popularnymi silnikami baz danych, na przykład SQLite, MySQL/MariaDB, oraz PostgreSQL. Ten przewodnik pokaże, jak zbudować fundamenty aplikacji Ruby on Rails, która używa MySQL jako silnika bazy danych.

Wymagania wstępne

  • Wszystkie kroki przedstawione w tym przewodniku są wykonywane na systemie Ubuntu 21.04. Dowiedz się więcej o konfiguracji serwera Ubuntu tutaj.
  • Pokażemy również szybką demonstrację instalacji i konfiguracji serwera MySQL. Więcej informacji można znaleźć w tym przewodniku dotyczącym konfiguracji MySQL.
  • Do instalacji i zarządzania językiem Ruby użyjemy rbenv. Jest to narzędzie zaprojektowane, aby pomóc w zarządzaniu środowiskiem Ruby. W porównaniu do RVM, rbenv ma swoje różnice.

Krok 1: Instalacja i konfiguracja MySQL

MySQL posłuży jako backend bazy danych dla naszej aplikacji Ruby on Rails. Zakładając, że nie masz jeszcze zainstalowanego i skonfigurowanego MySQL, postępuj zgodnie z instrukcjami. Uruchom terminal i zaktualizuj pamięć podręczną APT:

MySQL with Ruby on Rails code screenshot 1

Następnie zainstaluj komponenty MySQL:

MySQL with Ruby on Rails code screenshot 2

Po zakończeniu instalacji uruchom następujący skrypt MySQL. Wykona on szybką konfigurację poinstalacyjną:

Skrypt zada kilka pytań. Wykonaj kroki, aby ukończyć wstępną konfigurację:

MySQL with Ruby on Rails code screenshot 4

3

4

MySQL with Ruby on Rails code screenshot 5

  • Dodatkowy krok

Poniższy krok jest opcjonalny i należy go wykonać tylko wtedy, gdy w dalszej części samouczka Ruby on Rails nie będzie mogło połączyć się z serwerem MySQL. Ustawia on użytkownika root w MySQL na korzystanie z mysql_native_password w celu umożliwienia tradycyjnego logowania hasłem. Uzyskaj dostęp do konta root w systemie Ubuntu:

Now, launch the MySQL root shell without password check:

Następnie uruchom następujące zapytanie, aby zmienić hasło i ustawić mysql_native_password jako metodę uwierzytelniania:

MySQL with Ruby on Rails code screenshot 6

Krok 2: Instalacja i konfiguracja Ruby oraz Ruby on Rails

Nasz serwer bazy danych jest gotowy do produkcji. Teraz musimy zainstalować Ruby. Jak wspomniano wcześniej, będziemy używać rbenv jako menedżera wersji Ruby dla naszego projektu. Ruby on Rails jest dostępny jako gem Ruby.

  • Instalacja rbenv

Menedżer Ruby rbenv jest bezpośrednio dostępny z oficjalnego serwera pakietów Ubuntu. W przypadku innych dystrybucji zapoznaj się z oficjalnym przewodnikiem instalacji rbenv.

Uruchom terminal i zainstaluj go od razu:

MySQL with Ruby on Rails code screenshot 7

Następnie musimy zintegrować rbenv z domyślną powłoką. Uruchom następujące polecenie rbenv:

MySQL with Ruby on Rails code screenshot 8

Jak mówi wynik, dla basha musimy dołączyć tę linię w lokalnym pliku bashrc. Nie wchodząc w szczegóły, plik bashrc jest ładowany za każdym razem, gdy użytkownik otwiera nową powłokę w trybie interaktywnym. Otwórz plik w edytorze tekstu i dodaj następujący tekst:

nano

Zapisz plik i zamknij edytor. Zaleca się ponowne uruchomienie terminala, aby zmiany weszły w życie. Alternatywnie możesz przeładować plik bashrc w bieżącej powłoce:

Next, we’ll install a rbenv plugin to provide the support for the rbenv install command. This plugin is directly available from the rbenv GitHub repo. Run the following commands:

git clone

To test our rbenv configuration, run the rbenv-doctor script:

curl

It will check for various components and report if everything is ok.

  • Installing Ruby

Once rbenv is configured, we’re ready to install Ruby. The following command will list all the available versions of Ruby:

rbenv install -l

The output will be a bit long, so it’s advised to pass it through more or less for better browsing. The list also contains various builds of Ruby. For the purpose of this guide, we’ll focus on the latest official Ruby build. At the time of writing this article, it’s Ruby v3.0.3.

Now, install Ruby:

rbenv install

The next command will declare the installed Ruby as the global version available to all applications:

Verify the Ruby installation:

ruby

  • Installing Ruby on Rails

The web framework is available as a gem for Ruby. Although Ruby on Rails is directly available from the Ubuntu package servers, installing it as a gem offers more flexibility.

First, install the gem Bundler. It’s a tool that resolves gem dependencies. Rails is dependent on it:

gem install bundler

Running the next command will install the latest stable version of Ruby on Rails as a gem:

gem install rails

If you want a specific version installed, then the command structure would look like this:

Once the gems are installed, run the following command:

rbenv rehash

The Ruby manager rbenv works by creating dedicated directories for shims that point to the files of the current Ruby version enabled. The rehash sub-command tells rbenv to maintain shims in that directory to match every Ruby command across every installed version of Ruby on the server. It should be run every time you install a new version of Ruby or a gem that provides commands similar to Rails.

Verify the Rails installation:

rails

Step 3: Installing MySQL gem

To connect to the MySQL server, Rails needs an adapter. We’ll use mysql2 gem for this functionality. Install mysql2 gem:

gem install mysql2

Step 4: Creating and Configuring a New Rails App

  • Creating a Sample App

So far, we’ve configured all the necessary components to establish our Rails app. The following command will create a dedicated directory for the app and place all the necessary files with MySQL support:

rails new

  • Configuring MySQL Connection

Now, we need to dial in the necessary MySQL info so that Rails can connect to the database and exchange data. By default, Rails connects to MySQL as root. Open the Rails database configuration file:

nano config

Scroll down to the following section and enter the root password for MySQL. Then, save the file and close the editor.

  • Implementing Database Changes

If everything went fine, then Rails should now be able to connect to MySQL and perform necessary database operations. The following command will create the necessary databases:

rake db

Step 5: Testing the Configuration

Start the Rails development server:

rails server

Powinieneś mieć dostęp do strony powitalnej pod następującym adresem URL:

URL

Podsumowanie

W tym poradniku zainstalowaliśmy Ruby za pomocą rbenv, zainstalowaliśmy gem Rails oraz skonfigurowaliśmy przykładową aplikację Rails do połączenia z bazą danych MySQL i używania jej jako silnika bazy danych. Służy to jako świetny szkielet dla skalowalnej i scentralizowanej aplikacji internetowej.

Aby dowiedzieć się, jak zainstalować Ruby on Rails za pomocą RVM na Ubuntu 20.04, zapoznaj się z poniższym samouczkiem Instalacja Ruby on Rails z RVM na Ubuntu 20.04. Aby dowiedzieć się, jak skonfigurować Ruby on Rails z PostgreSQL, zapoznaj się z poniższym samouczkiem: Konfiguracja Ruby on Rails z PostgreSQL.

Miłego korzystania!

author

Hark Labs

Autor · CloudSigma

Preslav Dobrev jest projektantem kreatywnym w CloudSigma, skupiającym się na spójnej tożsamości biznesowej przy wykorzystaniu tradycyjnych i innowacyjnych kanałów marketingowych. Biegle łączy wizję artystyczną ze strategicznym marketingiem, tworząc wywierające wpływ narracje marki.

Komentarze

Brak komentarzy. Bądź pierwszy.