Поиск по сайту:

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


Введение

Ruby on Rails использует sqlite3 в качестве базы данных по умолчанию, что отлично работает во многих случаях, но может оказаться недостаточным для вашего приложения. Если вашему приложению требуется масштабируемость, централизация и контроль (или любая другая функция), которые необходимы для клиент-серверной базы данных SQL, такой как PostgreSQL или MySQL, вам потребуется выполнить несколько дополнительных шагов, чтобы запустить ее.

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

Предпосылки

Для этого руководства требуется рабочая среда разработки Ruby on Rails. Если у вас его еще нет, вы можете следовать руководству по этой ссылке: Как установить 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

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

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

sudo mysql_install_db

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

sudo mysql_secure_installation

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

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

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

Установить драгоценный камень MySQL

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

Как пользователь Rails установите гем mysql2 следующим образом:

gem install mysql2

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

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

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

cd ~
rails new appname -d mysql

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

cd appname

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

Настройка подключения к базе данных

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

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

vi config/database.yml

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

password: mysql_root_password

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

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

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

rake db:create

Это создаст две базы данных на вашем сервере MySQL. Например, если имя вашего приложения — \имя_приложения, оно создаст базы данных с именами \имя_приложения_развития и \имя_приложения_тест.

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

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

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

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

rails server

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

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

rails server --binding=server_public_IP

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

http://server_public_IP:3000

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

Заключение

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

Удачи!