前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >如何在Ubuntu 14.04上使用MySQL和Ruby on Rails应用程序

如何在Ubuntu 14.04上使用MySQL和Ruby on Rails应用程序

原创
作者头像
信姜缘
修改2018-10-23 09:55:02
4.8K0
修改2018-10-23 09:55:02
举报

介绍

Ruby on Rails使用sqlite3作为其默认数据库,在许多情况下效果很好,但可能不适合您的应用程序。如果您的应用程序需要客户端/服务器SQL数据库(如PostgreSQL或MySQL)的可伸缩性,集中化和控制(或任何其他功能),则需要执行一些额外的步骤才能启动并运行它。

本教程将向您展示如何在Ubuntu 14.04服务器上设置开发Ruby on Rails环境,以允许您的应用程序使用MySQL数据库。首先,我们将介绍如何安装MySQL和MySQL适配器gem。然后我们将向您展示如何创建使用MySQL作为其数据库服务器的rails应用程序。

准备

一台已经设置好可以使用sudo命令的非root账号的Ubuntu服务器,并且已开启防火墙。没有服务器的同学可以在这里购买,不过我个人更推荐您使用免费的腾讯云开发者实验室进行试验,学会安装后再购买服务器

本教程要求具有可用的Ruby on Rails开发环境。

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

准备好之后,让我们安装MySQL。

安装MySQL

如果你还没有安装MySQL,我们现在就做。

首先,更新apt-get:

代码语言:javascript
复制
sudo apt-get update

然后安装MySQL及其开发库:

代码语言:javascript
复制
sudo apt-get install mysql-server mysql-client libmysqlclient-dev

在安装过程中,您的服务器将要求您选择并确认MySQL“root”用户的密码。

安装完成后,我们需要运行一些额外的命令来安全地设置MySQL环境。首先,我们需要告诉MySQL创建其数据库目录结构,它将存储其信息。您可以通过输入以下内容来执

代码语言:javascript
复制
sudo mysql_install_db

之后,我们想要运行一个简单的安全脚本,它将删除一些危险的默认值并锁定对我们的数据库系统的访问。运行以下命令启动交互式脚本:

代码语言:javascript
复制
sudo mysql_secure_installation

系统将要求您输入为MySQL root帐户设置的密码。接下来,它会询问您是否要更改该密码。如果您对当前密码感到满意,请在提示符下键入n

对于其他问题,您只需在每个提示中单击“ENTER”键即可接受默认值。这将删除一些示例用户和数据库,禁用远程root登录,并加载这些新规则,以便MySQL立即尊重我们所做的更改。

MySQL现已安装,但我们仍然需要安装MySQL gem。

安装MySQL Gem

在您的Rails应用程序可以连接到MySQL服务器之前,您需要安装MySQL适配器。在mysql2创业板提供了这个功能。

作为Rails用户,安装mysql2gem,如下所示:

代码语言:javascript
复制
gem install mysql2

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

创建新的Rails应用程序

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

代码语言:javascript
复制
cd ~
rails new appname -d mysql

然后进入应用程序的目录:

代码语言:javascript
复制
cd appname

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

配置数据库连接

如果您按照本教程中的MySQL安装说明操作,则为MySQL的root用户设置密码。MySQL根登录将用于创建应用程序的测试和开发数据库。

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

代码语言:javascript
复制
vi config/database.yml

在该default部分下,找到显示“password:”的行,并将密码添加到其末尾。它应该看起来像这样(用MySQL root密码替换突出显示的部分):

代码语言:javascript
复制
password: mysql_root_password

保存并退出。

创建应用程序数据库

使用此rake命令创建应用程序developmenttest数据库:

代码语言:javascript
复制
rake db:create

这将在MySQL服务器中创建两个数据库。例如,如果您的应用程序的名称是“appname”,它将创建名为“appname_development”和“appname_test”的数据库。

如果您收到错误消息“用户'root访问被拒'@'localhost'(使用密码:是)请提供MySQL安装的root密码”,按Ctrl-c退出。然后重新访问上一小节(配置数据库连接)以确保密码输入database.yml正确。确保密码正确后,尝试再次创建应用程序数据库。

测试配置

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

例如,要运行开发环境(缺省值),请使用以下命令:

代码语言:javascript
复制
rails server

这将在端口3000上的本地主机上启动Rails应用程序。

如果您的Rails应用程序位于远程服务器上,并且您希望通过Web浏览器访问它,则一种简单的方法是将其绑定到服务器的公共IP地址。首先,查找服务器的公共IP地址,然后使用如下rails server命令:

代码语言:javascript
复制
rails server --binding=server_public_IP

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

代码语言:javascript
复制
http://server_public_IP:3000

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

结论

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

祝好运!

更多Ubuntu教程请前往腾讯云+社区学习更多知识。


参考文献:《How To Use MySQL with Your Ruby on Rails Application on Ubuntu 14.04》

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 介绍
    • 准备
      • 安装MySQL
        • 安装MySQL Gem
          • 创建新的Rails应用程序
            • 配置数据库连接
            • 创建应用程序数据库
          • 测试配置
            • 结论
            相关产品与服务
            云数据库 SQL Server
            腾讯云数据库 SQL Server (TencentDB for SQL Server)是业界最常用的商用数据库之一,对基于 Windows 架构的应用程序具有完美的支持。TencentDB for SQL Server 拥有微软正版授权,可持续为用户提供最新的功能,避免未授权使用软件的风险。具有即开即用、稳定可靠、安全运行、弹性扩缩等特点。
            领券
            问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档