介绍
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_development
和appname_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 作为数据库!
好运!