如何在 CentOS 7 上将 MySQL 与 Ruby on Rails 应用程序结合使用

介绍

Ruby on Rails 使用 sqlite3 作为其默认数据库,这在许多情况下非常有效,但对于您的应用程序可能并不足够. 如果您的应用程序需要扩展性,集中性和控制(或任何其他功能)的客户端 / 服务器 SQL 数据库,如 PostgreSQL 或 MySQL,你需要执行一些额外的步骤,以获得它并运行。

本教程将向您展示如何设置 Ruby on Rails 开发环境,让您的应用程序在 CentOS 7 或 RHEL 服务器上使用 MySQL 数据库. 首先,我们将介绍如何安装 MySQL 和 MySQL 适配器宝石。

前提条件

如果你还没有,你可以遵循这个链接中的教程: 如何在CentOS 7上安装Ruby on Rails with rbenv

您还需要访问超级用户或sudo帐户,以便您可以安装MySQL数据库软件。

此指南还假定 SELinux 已禁用。

一旦你准备好了,让我们安装MySQL。

安装思维

如果你还没有安装MySQL,现在就去做吧!CentOS使用MariaDB作为MySQL的插入替代品。

安装MySQL及其开发库:

1sudo yum install mariadb-server mariadb-devel

安装完成后,我们需要使用以下命令启动MySQL:

1sudo systemctl start mariadb

现在我们的MySQL数据库正在运行,我们想要运行一个简单的安全脚本,这将删除一些危险的默认值,并锁定访问我们的数据库系统一点点。

1sudo mysql_secure_installation

提示会问你当前的 root 密码. 因为你刚刚安装了 MySQL,你很可能没有一个,所以通过点击 enter 让它空。 然后提示会问你是否想要设置 root 密码。 继续点击Enter,然后设置密码。 对于其他问题,你应该通过每个提示按Enter键来接受默认值。 这将删除一些样本用户和数据库,禁用远程 root 登录,并加载这些新规则,以便 MySQL 立即尊重我们所做的更改。

您要做的最后一件事是启用 MariaDB 启动,请使用以下命令:

1sudo systemctl enable mariadb.service

MySQL 已安装,但我们仍然需要安装 MySQL 宝石。

安装 MySQL Gem

在您的 Rails 应用程序能够连接到 MySQL 服务器之前,您需要安装 MySQL 适配器。

作为 Rails 用户,安装mysql2宝石,如下:

1gem install mysql2

现在您的 Rails 应用程序可以使用 MySQL 数据库。

创建新的铁路应用程序

在您的主目录中创建一个新的 Rails 应用程序. 使用 -d mysql 选项将 MySQL 设置为数据库,并确保用您的应用程序名称替换突出的单词:

1cd ~
2rails new appname -d mysql

然后进入应用程序目录:

1cd appname

下一步是配置应用程序的数据库连接。

配置数据库连接

如果您遵循本教程中的MySQL安装说明,您将为MySQL的 root用户设置密码,MySQL root login将用于创建您的应用程序的测试和开发数据库。

在您最喜欢的文本编辑器中打开应用程序的数据库配置文件. 我们将使用 vi:

1vi config/database.yml

默认部分中,找到说密码的行,并将密码添加到其末尾,它应该看起来像这样(用您的MySQL根密码替换突出的部分):

1password: mysql_root_password

保存和退出。

创建应用数据库

创建你的应用程序的开发测试数据库,使用这个rake命令:

1rake db:create

例如,如果你的应用程序的名称是appname,它将创建名为appname_developmentappname_test的数据库。

如果您收到一个错误,表示对用户root@localhost的访问被拒绝(使用密码:YES)请为您的MySQL安装提供根密码,请按Ctrl-c来停止。然后再浏览以前的子部分(配置数据库连接),以确保在database.yml中的密码正确。

测试配置

测试您的应用程序是否能够使用MySQL数据库的最简单的方法是尝试运行它。

例如,要运行开发环境(默认),请使用此命令:

1rails server

这将启动您的 Rails 应用程序在您的 localhost 上端口 3000。

如果您的 Rails 应用程序位于远程服务器上,并且您希望通过 Web 浏览器访问它,一个简单的方法是将其绑定到您的服务器的公共 IP 地址。

1rails server --binding=server_public_IP

现在,您应该能够通过服务器在端口 3000 上的公共 IP 地址访问您的 Rails 应用程序:

1http://server_public_IP:3000

如果您看到 Ruby on Rails 页面,您的应用程序已正确配置,并连接到 MySQL 数据库。

结论

您现在已经准备好在您的 Ruby on Rails 应用程序上开始开发,在 CentOS 7 上使用 MySQL 作为数据库!

好运!

Published At
Categories with 技术
comments powered by Disqus