如何在Ubuntu 14.04中使用MySQL在你的Ruby on Rails的应用

Ruby on Rails的使用sqlite3作为其默认的数据库,其工作在许多情况下强大的,但可能无法满足您的应用程序。如果应用程序需要的可扩展性,集中化和控制(或任何其他功能),一个客户机/服务器SQL数据库,本教程将告诉你如何做到这一点,与MySQL,在Ubuntu 14.04。

介绍

Ruby on Rails使用sqlite3作为其默认数据库,它在许多情况下运行良好,但可能不足以满足您的应用程序。如果应用程序需要的可扩展性,集中化和控制(或任何其他功能),一个客户机/服务器SQL数据库,如PostgreSQL或MySQL ,则需要进行一些额外的步骤让它运行起来。 本教程将向您介绍如何设置一个开发的Ruby on Rails环境,使您的应用程序可以在Ubuntu 14.04服务器上使用MySQL数据库。首先,我们将介绍如何安装MySQL和MySQL适配器gem。然后我们将向您展示如何创建一个使用MySQL作为其数据库服务器的rails应用程序。

先决条件

本教程要求有一个工作的Ruby on Rails开发环境。如果你还没有,你可以按照这个链接教程: 如何在Ubuntu 14.04与rbenv中安装Ruby on Rails 。 您还需要有机会获得超级用户或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 root帐户设置的密码。接下来,它会询问您是否要更改该密码。如果你很高兴与您当前密码,请键入n在提示符下。 对于其余的问题,您应该通过每个提示单击“ENTER”键接受默认值。这将删除一些示例用户和数据库,禁用远程根登录,并加载这些新规则,以便MySQL立即尊重我们所做的更改。 MySQL现在已经安装,但是我们仍然需要安装MySQL gem。

安装MySQL Gem

在您的Rails应用程序可以连接到MySQL服务器之前,您需要安装MySQL适配器。该mysql2gem提供了此功能。 由于Rails的用户,安装mysql2gem,就像这样:
gem install mysql2
现在你的Rails应用程序可以使用MySQL数据库。

创建新的Rails应用程序

在主目录中创建一个新的Rails应用程序。使用-d mysql选项来设置MySQL作为数据库,并确保您的应用程序名称来代替突出显示的单词:
cd ~
rails new appname -d mysql
然后进入应用程序的目录:
cd appname
下一步是配置应用程序的数据库连接。

配置数据库连接

如果你按照本教程中的MySQL安装说明,则为MySQL的root用户设置密码。 MySQL根登录名将用于创建应用程序的测试和开发数据库。 在您喜欢的文本编辑器中打开应用程序的数据库配置文件。我们将使用vi:
vi config/database.yml
根据default部分,找到这行“密码:”,并添加密码到它的结束。它应该看起来像这样(用您的MySQL根密码替换突出显示的部分):
password: mysql_root_password
保存并退出。

创建应用程序数据库

创建应用程序的developmenttest使用该rake命令数据库:
rake db:create
这将在MySQL服务器中创建两个数据库。例如,如果应用程序的名称是“appname”,它将创建名为“appname_development”和“appname_test”的数据库。 如果你得到一个错误,指出“访问被拒绝的用户'根'@'localhost'的(使用密码:YES),请为你的MySQL安装提供root密码”,按Ctrl-c退出。 然后再讲一小节(配置数据库连接),以确保在密码database.yml是正确的。确保密码正确后,请尝试再次创建应用程序数据库。

测试配置

测试应用程序是否能够使用MySQL数据库的最简单方法是尝试运行它。 例如,要运行开发环境(默认),请使用以下命令:
rails server
这将启动您的本地主机上的Rails应用程序在端口3000。 如果您的Rails应用程序在远程服务器上,并且您想通过Web浏览器访问它,一个简单的方法是将其绑定到您的服务器的公共IP地址。首先,看看您的服务器的公网IP地址,然后用使用rails server这样的命令:
rails server --binding=server_public_IP
现在您应该能够通过服务器在端口3000上的公共IP地址在Web浏览器中访问您的Rails应用程序:
http://server_public_IP:3000
如果您看到“欢迎登上”Ruby on Rails页面,您的应用程序已正确配置,并连接到MySQL数据库。

结论

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