WordPress用にデータベースを作成したのでメモ。
今回、AWSのデータベースであるRDSを使用しました。サーバーにはRDSを設置済みです。また、マスターユーザーのログインIDはrootで作成しました。
AWSといっても、他のサーバーでもデータベースの作成方法は同じだと思われます。
MySQLにrootでログインする
まず、SSHでサーバーにログインします。
ログインしたら次のコマンドを実行して、rootアカウントでMySQLにログインします。
※パスワードログインするには最後に「-p」オプションをつける
$ mysql -h [ホスト名] -u root -p
ちなみに、ホスト名はAWSのコンソール>RDS>データベースで作成したRDSを選択したら「エンドポイント」という項目があると思います。そちらの値を入力します。
このような表示が出ればログインは成功です!
データベース作成
データベースを作成する
まず、データベースという大きな枠組みを作ります。
CREATE DATABASEコマンドを使用します。
MySQL [(none)]> CREATE DATABASE [データベース名] DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;
詳細は次の通りです。
CREATE DATABASE—データベースを作成する
DEFAULT CHARACTER SET—文字コードを指定
COLLATE—照合順序を指定。ものすごくざっくりな認識だと、アルファベットの大文字・小文字は区別せずにマッチする
データベース名以外は、この記述がデフォルトっぽいです。
作成したデータベースは、次のコマンドで確認できます。
MySQL [(none)]> SHOW DATABASES;
ユーザー関係
ユーザーを作成する
データベースを操作するユーザーを作成します。
今回、ユーザー名は[test_user]、パスワードは[password]で作成します。
CREATE USERコマンドを使います。書式は次の通りです。
MySQL [(none)]> CREATE USER 'test_user'@'%' IDENTIFIED BY 'password';
ユーザー名の書式は、[ユーザー名][@][ホスト名]です。ホスト名以外にIPアドレスの指定もできます。
例1)’user_name’@’host_name’
例2)’username’@’192.168.1.3′
@はシングルクォーテーションで囲みます。後ろのホスト名はワイルドカードの ‘%’ 表記が使用できます。次のtest_userはどのホストからも接続可能なことを意味します。
参考サイト
ユーザーに権限を付与する
作成したユーザーにデータベースを操作できる権限を付与します。
新規作成したtesut_userは、どのデータベースに対しても権限がないので、テーブルを追加したり削除などの操作ができません。
権限はGRANTコマンドで付与できます。書式は次の通りです。
MySQL [(none)]> GRANT ALL ON test_database.* TO 'test_user'@'%';
詳細は次の通りです。
GRANT—権限を付与する(ALLで全ての権限を付与)
ON—対象になるデータベース([データベース名].*にすると全てのテーブル操作が可能なことを意味する)
TO—権限を付与するユーザー名@ホスト名
なお、設定は次のコマンを実行すると反映されます。
MySQL [(none)]> FLUSH PRIVILEGES;
ユーザー一覧を確認する
作成したユーザーを確認するには次のコマンドを使用します。
MySQL [(none)]> SELECT Host, User FROM mysql.user;
ユーザーを削除する
作成したユーザーを削除するには次のコマンドを使用します。
MySQL [(none)]> drop user 'test_user'@'%'
まとめ
今回、Webサーバにデータベースシステム(MySQL)を設置するところから作業しました。
※これについては後ほど別記事でまとめたいです。
使用したのはAmazon RDS(マネージドリレーショナルデータベース)です。
今までレンタルサーバーのデータベースしか使ったことがなかったので、難しかったです、、。
コメント