2
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

AWS(MySQL)

Last updated at Posted at 2020-03-26

##Railsとデータベース
今回はRailsからアクセスされるデータベース関連のデータベースを作成します。
Ruby on RailsのようなWebアプリケーションフレームワークにとって、データベースはセットで考えます。例えばTwitterで考えてみると、データベースがなければ、ユーザーの情報も、ユーザーが呟いた内容も、保存しておくことができません。
##データベースの種類
階層型データベース
ネットワーク型データベース
リレーショナルデータベース
があります。
この中で最も利用されているのが、リレーショナルデータベースです。
エクセルの表のような形で情報を整理し、管理することができます。そして、このリレーショナルデータベースを管理するソフトウェアはリレーショナル・データ・ベース・マネジメント・システム(RDBMS)と呼ばれます。
そんなRDBMSの中でも代表的なものの一つが、MySQLです。
##MySQL
Oracle社が開発・提供をしているRDBMSです。データベースの作成、編集、削除などを行うことができます。オープンソースソフトウェアとして公開されており、誰でも無償で利用することができます。
Oracle社のMySQL紹介ページ
MySQL公式ページ
MySQLをインストールします。
Amazon Linuxを利用している場合、MySQLは yum コマンドからインストールすることができます。
ターミナル(サーバー)は[ec2-userです。普通のターミナルはターミナル(ローカル)とします。
ターミナル(ローカル)

$ cd  .ssh/

$ ssh -i ダウンロードした鍵の名前.pem ec2-user@作成したEC2インスタンスと紐付けたElastic IP

これでターミナル(サーバー)に入れたと思います。
ターミナル(サーバー)

[ec2-user@ip-172-31-25-189 ~]$ sudo yum -y install mysql56-server mysql56-devel mysql56

これは、MySQLのバージョン5.6をインストールすることを意味します。
MySQLを起動するためにserviceコマンドを利用します。これは、Amazon LinuxやCentOSに含まれているもので、インストールしたソフトウェアの起動を一括して行えるツールです。
ターミナル(サーバー)

[ec2-user@ip-172-31-25-189 ~]$ sudo service mysqld start

mysqlではなくmysqldであることに注意しましょう。「d」はLinuxの用語で「サーバ」を意味する「デーモン(daemon)」の頭文字です。
起動できたか確認するときは
ターミナル(サーバー)

[ec2-user@ip-172-31-25-189 ~]$ sudo service mysqld status
mysqld (pid  15692) is running...

「running」と表示されれば、MySQLの起動は成功です。
##MySQLのrootパスワードの設定
yumでインストールしたMySQLには、デフォルトでrootというユーザーでアクセス出来るようになっていますが、パスワードは設定されていません。
そこで、パスワードを設定します。'設定したいパスワード'の部分については、例えばpassword0000という文字列を設定するとしたら、 'password0000'と記載しましょう。
0から始まるpasswordは読み込んでくれないケースが多いので、避けましょう.
(例えば、’0123password’など)
ターミナル(サーバー)

[ec2-user@ip-172-31-25-189 ~]$ sudo /usr/libexec/mysql56/mysqladmin -u root password 'ここを設定したいパスワードに変更してからコマンドを実行してください'

このパスワードは、後ほどRailsからアクセスする時にも利用するので記憶しておいてください。
この時、Warning: Using a password on the command line interface can be insecure.と警告がでることがありますが、ここでは無視していただいて問題ありません。
##MySQLへの接続確認
設定したパスワードが使えるか確認の仕方です。
ターミナル(サーバー)

[ec2-user@ip-172-31-25-189 ~]$ mysql -u root -p

Enter password: とパスワードを入力するように表示されるので、設定したパスワードを入力して、Enterしてください。以下のように表示されれば、MySQLの設定は終了です。
ターミナル(サーバー)

Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 4
Server version: 5.6.33 MySQL Community Server (GPL)

Copyright (c) 2000, 2016, Oracle and/or its affiliates. All rights reserved.

Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

mysql>
2
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?