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

Вступление

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

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

Предпосылки

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

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

В этом руководстве также предполагается, что SELinux отключен.

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

Установите MySQL

Если у вас еще не установлен MySQL, давайте сделаем это сейчас. CentOS использует MariaDB в качестве замены MySQL.

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

sudo yum install mariadb-server mariadb-devel

Когда установка завершится, нам нужно запустить MySQL следующей командой:

sudo systemctl start mariadb

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

sudo mysql_secure_installation

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

Последнее, что вам нужно сделать, это включить MariaDB для запуска при загрузке. Для этого используйте следующую команду:

sudo systemctl enable mariadb.service

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 в качестве базы данных для CentOS 7!

Удачи!

Related