DBの準備
DB「test_db」を作成する。
CREATE DATABASE test_db;
DB名には「?」といった記号は使用できない。
DBを作成できたか確認する。
SHOW DATABASES;
作成したDBの情報をinformation_schemaから確認するには、以下のように入力。
SELECT * FROM INFORMATION_SCHEMA.SCHEMATA WHERE SCHEMA_NAME='test_db';
以下のように表示されるはず。
+--------------+-------------+----------------------------+------------------------+----------+--------------------+
| CATALOG_NAME | SCHEMA_NAME | DEFAULT_CHARACTER_SET_NAME | DEFAULT_COLLATION_NAME | SQL_PATH | DEFAULT_ENCRYPTION |
+--------------+-------------+----------------------------+------------------------+----------+--------------------+
| def | test_db | utf8mb4 | utf8mb4_0900_ai_ci | NULL | NO |
+--------------+-------------+----------------------------+------------------------+----------+--------------------+
1 row in set (0.00 sec)
もし間違えてDBを作成してしまったら、DROP DATABASE文からDBを削除する。
DROP DATABASE test_db;
DB操作のテスト
特定のDBで何かしらの操作をしたいなら、USEを使うとよい。
USE test_db;
USEでDBを選択したあと、ためにしテーブル「test」を作成するなら、以下のように入力する。
CREATE TABLE test(
id INT NOT NULL PRIMARY KEY
);
テーブル作成後は、テーブルがちゃんと作成されているかを確認すること。
SHOW TABLES;
今度は反対に、テーブル「test」を削除するなら、以下のように入力する。
DROP TABLE test;
ユーザーの準備
ユーザー一覧を確認するときは、mysql.userを参照する。rootだと全てのユーザーを確認できる。
SELECT USER, HOST FROM mysql.user;
新規ユーザー「test_user」を作成するときにパスワードも一緒に設定するなら、以下のようなコマンドで一括登録する。
passwordの部分に実際に使用するパスワードを入れた状態で入力すること。
CREATE USER 'test_user'@'localhost' IDENTIFIED BY 'passward';
一括でなくとも登録は可能。
一括でない場合、まずは新規ユーザー「test_user」を作成する。
CREATE USER 'test_user'@'localhost';
新規ユーザー「test_user」のパスワードを設定する。passwordの部分に実際に使用するパスワードを入れた状態で入力すること。
ALTER USER 'test_user'@'localhost' IDENTIFIED BY 'passward';
ALTER USER文からは、パスワードの再設定を行うことも可能。
間違えて作成したユーザーは、DROP USER文で削除できる。
DROP USER 'test_user'@'localhost';
ユーザーの権限設定
ユーザー「test_user」の権限を確認する。
SHOW GRANTS FOR 'test_user'@'localhost';
入力すると、以下のような結果が表示される。
+---------------------------------------------------+
| Grants for test_user@localhost |
+---------------------------------------------------+
| GRANT USAGE ON *.* TO `test_user`@`localhost` |
+---------------------------------------------------+
1 row in set (0.00 sec)
USAGEとは、何も権限がないという意味。
新規でユーザーが作成されると、グローバルレベルでUSAGE権限(何も権限がないという権限)が付与される。
実際にDBを使用するときには、DBレベルでユーザーに権限を与える。
以下を入力して、DB「test_db」のALL権限を、ユーザー「test_user」に付与する。
GRANT ALL PRIVILEGES ON `test_db`.* TO 'test_user'@'localhost';
いちばんめのサーバー構築の流れ
-
1-1 初期設定
-
1-2 新規ユーザー(一般ユーザー)の作成と設定
-
1-3 Nginx導入とhttpの準備
-
1-4 Nginxの初期設定
-
1-5 php導入
-
1-6 Apache導入と初期設定
-
1-7 リバースプロキシを準備する前の事前知識
-
1-8 サーバーIPアドレスとドメイン(ワイルドカード指定)の設定
-
1-9 ドメイン個別設定とリバースプロキシ構築
-
1-10 Let’s Encrypt(Certbot)を使ったSSL/TLS証明書の発行と自動更新設定
-
1-11 MySQL導入
-
1-12 MySQLのパフォーマンスチューニング
-
1-13 MySQLへのログインと初期設定
-
1-14 MySQLからDB・ユーザーの準備/ユーザーの権限設定
-
1-15 Zabbix導入
-
1-16 (寄り道)Zabbixのアップグレード