Как использовать MySQL с приложением Ruby on Rails в Ubuntu 14.04

Вступление

Ruby on Rails использует sqlite3 в качестве базы данных по умолчанию, которая прекрасно работает во многих случаях, но может оказаться недостаточной для вашего приложения. Если вашему приложению требуется масштабируемость, централизация и контроль (или любая другая функция) базы данных SQL клиент-сервер, например https://www.digitalocean.com/community/tutorials/sqlite-vs-mysql-vs-postgresql -a-сравнение-реляционных систем управления базами данных [PostgreSQL или MySQL], вам потребуется выполнить несколько дополнительных шагов, чтобы запустить его.

Из этого туториала вы узнаете, как настроить среду разработки Ruby on Rails, которая позволит вашим приложениям использовать базу данных MySQL на сервере Ubuntu 14.04. Сначала мы расскажем, как установить MySQL и гем адаптера MySQL. Затем мы покажем вам, как создать приложение rails, которое использует MySQL в качестве сервера базы данных.

Предпосылки

Этот учебник требует наличия рабочей среды разработки Ruby on Rails. Если у вас его еще нет, вы можете следовать руководству по этой ссылке: https://www.digitalocean.com/community/tutorials/how-to-install-ruby-on-rails-with-rbenv-on-ubuntu -14-04 Как установить Ruby on Rails с помощью rbenv в Ubuntu 14.04.

Вам также понадобится доступ к учетной записи суперпользователя или + sudo +, чтобы вы могли установить программное обеспечение базы данных MySQL.

Когда вы будете готовы, давайте установим MySQL.

Установите MySQL

Если у вас еще не установлен MySQL, давайте сделаем это сейчас.

Сначала обновите apt-get:

sudo apt-get update

Затем установите MySQL и его библиотеки разработки:

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

Во время установки ваш сервер попросит вас выбрать и подтвердить пароль для «root» пользователя MySQL.

Когда установка завершится, нам нужно будет выполнить несколько дополнительных команд для безопасной настройки среды MySQL. Во-первых, нам нужно указать MySQL создать структуру каталогов базы данных, в которой он будет хранить свою информацию. Вы можете сделать это, набрав:

sudo mysql_install_db

После этого мы хотим запустить простой скрипт безопасности, который удалит некоторые опасные значения по умолчанию и немного заблокирует доступ к нашей системе баз данных. Запустите интерактивный скрипт, выполнив:

sudo mysql_secure_installation

Вам будет предложено ввести пароль, установленный для учетной записи root MySQL. Затем он спросит вас, хотите ли вы изменить этот пароль. Если вас устраивает ваш текущий пароль, введите + n + в командной строке.

Для остальных вопросов вы должны просто нажать клавишу «ВВОД» в каждом приглашении, чтобы принять значения по умолчанию. Это приведет к удалению некоторых примеров пользователей и баз данных, отключению удаленных учетных записей root и загрузке этих новых правил, чтобы MySQL немедленно учитывал сделанные нами изменения.

MySQL теперь установлен, но нам все еще нужно установить гем MySQL.

Установите MySQL Gem

Прежде чем ваше приложение Rails сможет подключиться к серверу MySQL, вам необходимо установить адаптер MySQL. Gem + mysql2 + предоставляет эту функциональность.

Как пользователь Rails, установите гем + mysql2 +, например так:

gem install mysql2

Теперь ваши Rails-приложения могут использовать базы данных MySQL.

Создать новое приложение Rails

Создайте новое приложение Rails в вашем домашнем каталоге. Используйте опцию + -d mysql +, чтобы установить MySQL в качестве базы данных, и обязательно замените выделенное слово именем вашего приложения:

cd ~
rails new  -d mysql

Затем перейдите в каталог приложения:

cd

Следующим шагом является настройка соединения с базой данных приложения.

Настроить соединение с базой данных

Если вы следовали инструкциям по установке MySQL из этого руководства, вы устанавливали пароль для пользователя root MySQL. Корневой логин MySQL будет использоваться для создания тестовых и прикладных баз данных вашего приложения.

Откройте файл конфигурации базы данных вашего приложения в вашем любимом текстовом редакторе. Мы будем использовать vi:

vi config/database.yml

В разделе + default + найдите строку с надписью «password:» и добавьте пароль в конце. Это должно выглядеть примерно так (замените выделенную часть своим корневым паролем MySQL):

password:

Сохранить и выйти.

Создать базы данных приложений

Создайте свои базы данных приложений + development и` + test` с помощью этой команды rake:

rake db:create

Это создаст две базы данных на вашем сервере MySQL. Например, если имя вашего приложения «appname», оно создаст базы данных «appname_development» и «appname_test».

Если вы получили сообщение об ошибке «Доступ запрещен для пользователя« root »@« localhost »(с использованием пароля: ДА). Укажите пароль root для вашей установки MySQL», нажмите «+ Ctrl-c » для выхода. Затем вернитесь к предыдущему подразделу (Настройка подключения к базе данных), чтобы убедиться, что пароль в ` database.yml +` правильный. Убедившись в правильности пароля, попробуйте снова создать базы данных приложения.

Тестовая конфигурация

Самый простой способ проверить, что ваше приложение может использовать базу данных MySQL, - это попытаться запустить ее.

Например, чтобы запустить среду разработки (по умолчанию), используйте эту команду:

rails server

Это запустит ваше приложение Rails на вашем локальном хосте через порт 3000.

Если ваше приложение Rails находится на удаленном сервере, и вы хотите получить к нему доступ через веб-браузер, проще всего связать его с общедоступным IP-адресом вашего сервера. Сначала найдите общедоступный IP-адрес вашего сервера, затем используйте его с командой + rails server + следующим образом:

rails server --binding=

Теперь вы сможете получить доступ к своему приложению Rails через веб-браузер через общедоступный IP-адрес сервера через порт 3000:

http://:3000

Если вы видите страницу «Добро пожаловать на борт» Ruby on Rails, ваше приложение правильно настроено и подключено к базе данных MySQL.

Заключение

Теперь вы готовы приступить к разработке своего приложения Ruby on Rails с MySQL в качестве базы данных на Ubuntu 14.04!

Удачи!