Ubuntu 14.04でRuby on RailsアプリケーションでMySQLを使用する方法

前書き

Ruby on Railsは、デフォルトのデータベースとしてsqlite3を使用します。これは多くの場合うまく機能しますが、アプリケーションには十分ではない場合があります。 アプリケーションに、https://www.digitalocean.com/community/tutorials/sqlite-vs-mysql-vs-postgresqlなどのクライアント/サーバーSQLデータベースのスケーラビリティ、集中化、および制御(またはその他の機能)が必要な場合-リレーショナルデータベース管理システムの比較[PostgreSQLまたはMySQL]を実行するには、いくつかの追加手順を実行する必要があります。

このチュートリアルでは、アプリケーションがUbuntu 14.04サーバー上でMySQLデータベースを使用できるようにする開発用Ruby on Rails環境をセットアップする方法を示します。 最初に、MySQLとMySQLアダプターgemのインストール方法について説明します。 次に、MySQLをデータベースサーバーとして使用するRailsアプリケーションの作成方法を示します。

前提条件

このチュートリアルでは、動作するRuby on Rails開発環境が必要です。 まだお持ちでない場合は、このリンクのチュートリアルに従ってください:https://www.digitalocean.com/community/tutorials/how-to-install-ruby-on-rails-with-rbenv-on-ubuntu -14-04 [Ubuntu 14.04でrbenvを使用してRuby on Railsをインストールする方法]。

また、MySQLデータベースソフトウェアをインストールできるように、スーパーユーザー、または「+ sudo +」アカウントにアクセスする必要があります。

準備ができたら、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ルートアカウントに設定したパスワードの入力を求められます。 次に、そのパスワードを変更するかどうかを尋ねられます。 現在のパスワードに満足している場合は、プロンプトで「+ n +」と入力します。

残りの質問については、各プロンプトで「ENTER」キーを押してデフォルト値を受け入れる必要があります。 これにより、一部のサンプルユーザーとデータベースが削除され、リモートルートログインが無効になり、これらの新しいルールがロードされるため、MySQLはすぐに変更を反映します。

MySQLがインストールされましたが、MySQL gemをインストールする必要があります。

MySQL Gemをインストールする

RailsアプリケーションをMySQLサーバーに接続する前に、MySQLアダプターをインストールする必要があります。 + mysql2 + gemはこの機能を提供します。

Railsユーザーとして、次のように + mysql2 + gemをインストールします。

gem install mysql2

これで、RailsアプリケーションでMySQLデータベースを使用できるようになりました。

新しいRailsアプリケーションを作成する

ホームディレクトリに新しいRailsアプリケーションを作成します。 MySQLをデータベースとして設定するには、「+-d mysql +」オプションを使用し、強調表示された単語をアプリケーション名に置き換えてください。

cd ~
rails new  -d mysql

次に、アプリケーションのディレクトリに移動します。

cd

次のステップは、アプリケーションのデータベース接続を構成することです。

データベース接続の構成

このチュートリアルのMySQLインストール手順に従った場合、MySQLのrootユーザーのパスワードを設定します。 MySQLルートログインは、アプリケーションのテストおよび開発データベースの作成に使用されます。

お気に入りのテキストエディターでアプリケーションのデータベース構成ファイルを開きます。 viを使用します。

vi config/database.yml

`+ default +`セクションの下で、「password:」という行を見つけて、最後にパスワードを追加します。 次のようになります(強調表示されている部分をMySQLルートパスワードに置き換えます)。

password:

保存して終了。

アプリケーションデータベースを作成する

次のrakeコマンドを使用して、アプリケーションの + development`および + test`データベースを作成します。

rake db:create

これにより、MySQLサーバーに2つのデータベースが作成されます。 たとえば、アプリケーションの名前が「appname」の場合、「appname_development」および「appname_test」というデータベースが作成されます。

「ユーザー 'root' @ 'localhost’でアクセスが拒否されました(パスワードを使用:YES)MySQLインストールのルートパスワードを入力してください」というエラーが表示された場合は、 `+ Ctrl-c `を押して終了します。 次に、前のサブセクション(データベース接続の設定)を再度参照して、 ` database.yml +`のパスワードが正しいことを確認します。 パスワードが正しいことを確認した後、アプリケーションデータベースを再度作成してください。

テスト構成

アプリケーションがMySQLデータベースを使用できることをテストする最も簡単な方法は、それを実行することです。

たとえば、開発環境(デフォルト)を実行するには、次のコマンドを使用します。

rails server

これにより、ローカルホストのポート3000でRailsアプリケーションが起動します。

Railsアプリケーションがリモートサーバー上にあり、Webブラウザーからアクセスしたい場合、簡単な方法は、サーバーのパブリックIPアドレスにバインドすることです。 まず、サーバーのパブリックIPアドレスを検索してから、次のように `+ rails server +`コマンドで使用します:

rails server --binding=

これで、ポート3000のサーバーのパブリックIPアドレスを介して、WebブラウザーでRailsアプリケーションにアクセスできるようになります。

http://:3000

「Welcome aboard」Ruby on Railsページが表示される場合、アプリケーションは適切に構成され、MySQLデータベースに接続されています。

結論

これで、MySQLをデータベースとして、Ubuntu 14.04でRuby on Railsアプリケーションの開発を開始する準備が整いました。

がんばろう!

Related