Cách sử dụng MySQL với ứng dụng Ruby on Rails của bạn trên Ubuntu 14.04
Ruby on Rails sử dụng sqlite3 làm database mặc định của nó, nó hoạt động tốt trong nhiều trường hợp, nhưng có thể không đủ cho ứng dụng của bạn. Nếu ứng dụng của bạn yêu cầu khả năng mở rộng, tập trung và kiểm soát (hoặc bất kỳ tính năng nào khác) của database SQL client / server , chẳng hạn như PostgreSQL hoặc MySQL , bạn cần thực hiện một vài bước bổ sung để cài đặt và chạy nó.Hướng dẫn này sẽ chỉ cho bạn cách cài đặt môi trường Ruby on Rails phát triển sẽ cho phép các ứng dụng của bạn sử dụng database MySQL trên server Ubuntu 14.04. Đầu tiên, ta sẽ giới thiệu cách cài đặt MySQL và viên ngọc bộ điều hợp MySQL. Sau đó, ta sẽ hướng dẫn bạn cách tạo một ứng dụng rails sử dụng MySQL làm server database của nó.
Yêu cầu
Hướng dẫn này yêu cầu phải có một môi trường phát triển Ruby on Rails đang hoạt động. Nếu bạn chưa có, bạn có thể làm theo hướng dẫn trong liên kết này: Cách cài đặt Ruby on Rails với rbenv trên Ubuntu 14.04 .
Bạn cũng cần phải có quyền truy cập vào account superuser, hoặc sudo
, để có thể cài đặt phần mềm database MySQL.
Khi đã sẵn sàng , hãy cài đặt MySQL.
Cài đặt MySQL
Nếu bạn chưa cài đặt MySQL, hãy làm điều đó ngay bây giờ.
Đầu tiên, hãy cập nhật apt-get:
sudo apt-get update
Sau đó cài đặt MySQL và các thư viện phát triển của nó:
sudo apt-get install mysql-server mysql-client libmysqlclient-dev
Trong quá trình cài đặt, server của bạn sẽ yêu cầu bạn chọn và xác nhận password cho user MySQL "root".
Khi quá trình cài đặt hoàn tất, ta cần chạy một số lệnh bổ sung để cài đặt môi trường MySQL một cách an toàn. Trước tiên, ta cần yêu cầu MySQL tạo cấu trúc folder database nơi nó sẽ lưu trữ thông tin của nó. Bạn có thể thực hiện việc này bằng lệnh :
sudo mysql_install_db
Sau đó, ta muốn chạy một tập lệnh bảo mật đơn giản để loại bỏ một số mặc định nguy hiểm và khóa quyền truy cập vào hệ thống database của ta một chút. Bắt đầu tập lệnh tương tác bằng lệnh:
sudo mysql_secure_installation
Bạn cần nhập password bạn đã đặt cho account root MySQL. Tiếp theo, nó sẽ hỏi bạn có muốn thay đổi password đó không. Nếu bạn hài lòng với password hiện tại của bạn , hãy nhập n
vào dấu nhắc .
Đối với các câu hỏi còn lại, bạn chỉ cần nhấn phím "ENTER" qua mỗi dấu nhắc để chấp nhận các giá trị mặc định. Thao tác này sẽ xóa một số user và database mẫu, vô hiệu hóa đăng nhập root từ xa và tải các luật mới này để MySQL áp dụng ngay những thay đổi mà ta đã thực hiện.
MySQL hiện đã được cài đặt, nhưng ta vẫn cần cài đặt MySQL gem.
Cài đặt MySQL Gem
Trước khi ứng dụng Rails của bạn có thể kết nối với server MySQL, bạn cần cài đặt bộ điều hợp MySQL. mysql2
quý mysql2
cung cấp chức năng này.
Với quyền là user Rails, hãy cài đặt gem mysql2
, như sau:
gem install mysql2
Như vậy, các ứng dụng Rails của bạn có thể sử dụng database MySQL.
Tạo ứng dụng rail mới
Tạo một ứng dụng Rails mới trong folder chính của bạn. Sử dụng tùy chọn -d mysql
để đặt MySQL làm database và đảm bảo thay thế từ được đánh dấu bằng tên ứng dụng của bạn:
cd ~ rails new appname -d mysql
Sau đó chuyển vào folder của ứng dụng:
cd appname
Bước tiếp theo là cấu hình kết nối database của ứng dụng.
Cấu hình kết nối database
Nếu bạn đã làm theo hướng dẫn cài đặt MySQL từ hướng dẫn này, bạn đã đặt password cho user root của MySQL. Thông tin đăng nhập root MySQL sẽ được sử dụng để tạo database thử nghiệm và phát triển ứng dụng của bạn.
Mở file cấu hình database của ứng dụng trong editor yêu thích của bạn. Ta sẽ sử dụng vi:
vi config/database.yml
Trong phần default
, hãy tìm dòng có nội dung “mật khẩu:” và thêm password vào cuối. Nó sẽ trông giống như thế này (thay thế phần được đánh dấu bằng password root MySQL của bạn):
password: mysql_root_password
Lưu và thoát.
Tạo database ứng dụng
Tạo database test
và development
ứng dụng của bạn bằng cách sử dụng lệnh rake này:
rake db:create
Thao tác này sẽ tạo hai database trong server MySQL của bạn. Ví dụ: nếu tên ứng dụng của bạn là “appname”, nó sẽ tạo database có tên “appname_development” và “appname_test”.
Nếu bạn gặp lỗi cho biết “Quyền truy cập bị từ chối đối với user 'root' @ 'localhost' (sử dụng password : CÓ) Vui lòng cung cấp password root cho cài đặt MySQL của bạn", hãy nhấn Ctrl-c
để thoát. Sau đó truy cập lại tiểu mục trước đó ( Cấu hình kết nối database ) đảm bảo rằng password trong database.yml
là chính xác. Sau khi đảm bảo password chính xác, hãy thử tạo lại database ứng dụng.
Cấu hình thử nghiệm
Cách dễ nhất để kiểm tra xem ứng dụng của bạn có thể sử dụng database MySQL hay không là thử chạy nó.
Ví dụ: để chạy môi trường phát triển (mặc định), hãy sử dụng lệnh này:
rails server
Thao tác này sẽ khởi động ứng dụng Rails của bạn trên server local của bạn trên cổng 3000.
Nếu ứng dụng Rails của bạn nằm trên một server từ xa và bạn muốn truy cập nó thông qua trình duyệt web, một cách dễ dàng là liên kết nó với địa chỉ IP công cộng của server của bạn. Đầu tiên, hãy tra cứu địa chỉ IP công cộng của server của bạn, sau đó sử dụng nó với lệnh rails server
như sau:
rails server --binding=server_public_IP
Đến đây bạn sẽ có thể truy cập ứng dụng Rails của bạn trong trình duyệt web thông qua địa chỉ IP công cộng của server trên cổng 3000:
http://server_public_IP:3000
Nếu bạn thấy trang Ruby on Rails “Chào mừng lên tàu”, ứng dụng của bạn đã được cấu hình đúng cách và được kết nối với database MySQL.
Kết luận
Đến đây bạn đã sẵn sàng để bắt đầu phát triển ứng dụng Ruby on Rails của bạn , với MySQL làm database , trên Ubuntu 14.04!
Chúc may mắn!
Các tin liên quan
Cách sử dụng MySQL với ứng dụng Ruby on Rails của bạn trên CentOS 72015-03-17
Cách đo hiệu suất truy vấn MySQL với mysqlslap
2014-10-02
Cách di chuyển database MySQL sang server mới trên Ubuntu 14.04
2014-05-22
Cách tối ưu hóa hiệu suất WordPress với MySQL Replication trên Ubuntu 14.04
2014-05-21
Cách sử dụng profile truy vấn MySQL
2014-04-07
Mở rộng quy mô Ruby on Rails: Thiết lập server MySQL chuyên dụng (phần 2)
2014-02-27
Cách sử dụng HAProxy để thiết lập cân bằng tải MySQL
2013-12-02
Cách sử dụng HAProxy để thiết lập cân bằng tải MySQL
2013-12-02
Cách cài đặt MySQL 5.6 từ kho lưu trữ chính thức của Yum
2013-11-13
Cách tối ưu hóa các truy vấn và bảng trong MySQL và MariaDB trên VPS
2013-11-11