GNU/Linux >> Belajar Linux >  >> Linux

Cara Menggunakan MySQL Dengan Aplikasi Ruby On Rails

Ruby di atas Rel menggunakan SQLite3 sebagai database default. Meskipun Sqlite bekerja sangat baik dengan Rails, terkadang itu mungkin tidak cukup untuk aplikasi Rails Anda. Jika Anda menginginkan skalabilitas, konkurensi, sentralisasi, dan kontrol, Anda mungkin ingin mencoba database yang lebih kuat seperti MySQL atau PostgreSQL. Dalam panduan ini, kita akan melihat bagaimana menggunakan MySQL dengan aplikasi Ruby on Rails di Ubuntu Linux.

1. Instal MySQL di Ubuntu

MySQL tersedia di repositori default sebagian besar distribusi Linux dan Unix.

Untuk menginstal MySQL di Debian, Ubuntu dan turunannya, jalankan:

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

libmysqlclient-dev package menyediakan file yang diperlukan untuk mengkompilasi mysql2 permata. Ruby on Rails menggunakan mysql2 gem untuk terhubung ke MySQL saat Anda menyiapkan aplikasi Rails.

1.1. Siapkan kata sandi Root MySQL

Selanjutnya, atur kata sandi pengguna root MySQL dengan menjalankan perintah berikut:

$ sudo mysql_secure_installation

Masukkan "y" untuk menyiapkan komponen VALIDATE PASSWORD:

Securing the MySQL server deployment.

Connecting to MySQL using a blank password.

VALIDATE PASSWORD COMPONENT can be used to test passwords
and improve security. It checks the strength of password
and allows the users to set only those passwords which are
secure enough. Would you like to setup VALIDATE PASSWORD component?

Press y|Y for Yes, any other key for No: y

Pilih tingkat validasi kata sandi. Validasi sandi yang tersedia rendah , sedang dan kuat . Di sini, saya memilih validasi kata sandi tingkat rendah dengan memasukkan nol (0).

There are three levels of password validation policy:

LOW Length >= 8
MEDIUM Length >= 8, numeric, mixed case, and special characters
STRONG Length >= 8, numeric, mixed case, special characters and dictionary file

Please enter 0 = LOW, 1 = MEDIUM and 2 = STRONG: 0

Selanjutnya, masukkan kata sandi Root MySQL dua kali. Kata sandi harus kuat dan harus memiliki minimal 8 karakter. Tekan Y untuk melanjutkan:

Please set the password for root here.

New password:

Re-enter new password:

Estimated strength of the password: 100 
Do you wish to continue with the password provided?(Press y|Y for Yes, any other key for No) : y

Selanjutnya, Anda akan diberikan serangkaian pertanyaan. Ketik y dan tekan ENTER untuk setiap pertanyaan. Ini akan menghapus pengguna anonim, melarang login pengguna root dari jarak jauh, dan menghapus basis data pengujian.

Remove anonymous users? (Press y|Y for Yes, any other key for No) : y
Success.

Normally, root should only be allowed to connect from
'localhost'. This ensures that someone cannot guess at
the root password from the network.

Disallow root login remotely? (Press y|Y for Yes, any other key for No) : y
Success.

By default, MySQL comes with a database named 'test' that
anyone can access. This is also intended only for testing,
and should be removed before moving into a production
environment.

Remove test database and access to it? (Press y|Y for Yes, any other key for No) : y
- Dropping test database...
Success.

- Removing privileges on test database...
Success.

Reloading the privilege tables will ensure that all changes
made so far will take effect immediately.

Reload privilege tables now? (Press y|Y for Yes, any other key for No) : y
Success.

All done!

Selesai! Kami telah menetapkan kata sandi pengguna root MySQL.

1.2. Instal driver MySQL

Instal driver MySQL bernama mysql2 gem yang memungkinkan aplikasi Rails terhubung ke database MySQL.

$ gem install mysql2

Semua selesai! Aplikasi Rails sekarang dapat terhubung ke server database MySQL.

Mari kita maju dan membuat aplikasi Rails baru dengan database MySQL.

2. Gunakan MySQL dengan aplikasi Ruby on Rails

Untuk membuat aplikasi Rails baru bernama ostechnixapp dan gunakan database MySQL sebagai database default, jalankan:

$ rails new ostechnixapp -d mysql

Ini akan membuat aplikasi Rails bernama ostechnixapp di direktori bernama ostechnixapp dan instal dependensi permata yang telah disebutkan di Gemfile menggunakan bundle install .

Setelah membuat ostechnixapp aplikasi, pindah ke direktorinya:

$ cd ostechnixapp/

Edit file konfigurasi database aplikasi:

$ vi config/database.yml

Di bawah bagian default, ganti MySQL root kata sandi pengguna dengan yang Anda buat sebelumnya:

[...]
default: &default
adapter: mysql2
encoding: utf8mb4
pool: <%= ENV.fetch("RAILS_MAX_THREADS") { 5 } %>
username: root
password: Password123#@!
socket: /var/run/mysqld/mysqld.sock
[...]

Simpan dan tutup file.

Sekarang buat database baru untuk aplikasi Rails Anda menggunakan perintah:

$ rake db:create

Ini akan membuat dua database dengan nama aplikasi Rails Anda. Misalnya, jika nama aplikasinya adalah ostechnixapp, maka itu akan membuat ostechnixapp_development dan ostechnixapp_test .

Anda dapat memverifikasinya jika database berhasil dibuat dari MySQL juga.

Masuk ke MySQL sebagai root pengguna:

$ mysql -u root -p

Verifikasi apakah database dibuat dengan memasukkan perintah berikut:

mysql> show databases;

Contoh keluaran:

+--------------------------+
 | Database                 |
 +--------------------------+
 | information_schema       |
 | mysql                    |
 | ostechnixapp_development |
 | ostechnixapp_test        |
 | performance_schema       |
 | sys                      |
 +--------------------------+
 6 rows in set (0.01 sec)
 mysql> 

Keluar dari perintah MySQL.

Sekarang mulai server web Rails Anda menggunakan perintah:

$ rails server -b 0.0.0.0

Ini akan memulai aplikasi Rails Anda pada port default 3000 . Di sini, kami melewati argumen -b 0.0.0.0 untuk mengakses aplikasi Rails dari mesin mana pun di jaringan area lokal.

Anda dapat mengakses halaman pengujian Rails di browser web Anda dengan menavigasi ke URL:http://ip-address:3000

Jika Anda ingin menggunakan port yang berbeda, lewati -p tandai beserta nomor port seperti di bawah ini:

$ rails server -b 0.0.0.0 -p 8080

Sekarang, Anda dapat mengakses aplikasi Rails Anda menggunakan URL ini:http://ip-address:8080

3. Hapus aplikasi Rails

Jika Anda telah menggunakan database default yaitu SQLite, Anda dapat menghapus aplikasi Rails hanya dengan menghapus direktori aplikasinya.

$ rm -fr ostechnixapp

Jika Anda telah menggunakan MySQL, pertama-tama Anda harus menghapus database terkait aplikasi Anda menggunakan perintah:

$ rake db:drop

Dan kemudian hapus direktori aplikasi:

$ rm -fr ostechnixapp

Kesimpulan

Dalam tutorial ini, kita membahas mengapa kita perlu menggunakan database model klien/server untuk aplikasi Rails kita dan cara membuat aplikasi Rails dengan database MySQL. Kami juga telah melihat cara menghapus aplikasi Rails.

Jika beberapa salinan aplikasi Rails berjalan pada saat yang sama, beberapa aplikasi dan pengguna menggunakan database yang sama, Anda harus menjauh dari Sqlite dan mencoba database model klien/server seperti MySQL. Jika Anda menginginkan penyimpanan data lokal untuk aplikasi individual, Sqlite sudah lebih dari cukup.

Bacaan terkait:

  • Cara Menggunakan PostgreSQL Dengan Aplikasi Ruby On Rails
  • Konfigurasi Koneksi Database Menggunakan Variabel Lingkungan Dalam Rails

Linux
  1. Bagaimana saya menggunakan Vagrant dengan libvirt

  2. Cara Membuat Database di MySQL dengan MySQL Workbench

  3. Bagaimana cara memeriksa kata sandi dengan Linux?

  1. Cara Mengatur Ulang Kata Sandi Root MySQL Atau MariaDB

  2. Cara Menginstal dan Menggunakan MySQL di Ubuntu 20.04

  3. Bagaimana Cara Menginstal MySQL di CentOS 7.x?

  1. Buat aplikasi desktop Linux dengan Ruby

  2. Cara mereset kata sandi Windows dengan Linux

  3. Cara Menginstal MySQL di Ubuntu 22.04