やること
MySQLでデータベース作成する際に行う
- ユーザー作成
- データベース作成
- テーブル作成
この3つのやり方について
環境
- Linux mint 19.2
- MySQL 5.7
ユーザー作成
1.rootでMySQLを実行する
最初はrootしかユーザーがいないため、新しくユーザーを作成して権限の付与などを行います。
まずはrootでmysqlを実行します。
$ sudo mysql -u root -p
Enter password: rootパスワード
2.ユーザー作成
管理者権限を持ったユーザーを作成します。
GRANT ALL PRIVILEGES ON *.* TO 'test_user'@'localhost' IDENTIFIED BY 'test_pass' WITH GRANT OPTION;
今回はON *.* TO 'test_user'
で全てのデータベースに対して全ての権限設定をONにしています。
※権限について詳しい情報は公式サイトを参考
MySQL 公式サイト
ユーザー作成出来ているか確認します。
mysql> SELECT user, host FROM mysql.user;
+------------------+-----------+
| user | host |
+------------------+-----------+
| debian-sys-maint | localhost |
| mysql.session | localhost |
| mysql.sys | localhost |
| root | localhost |
| test_user | localhost |
+------------------+-----------+
rootの下にtest_userが表示されれば作成成功です。
権限を確認します。
mysql> SHOW GRANTS FOR 'test_user'@'localhost';
+--------------------------------------------------------------------------+
| Grants for test_user@localhost |
+--------------------------------------------------------------------------+
| GRANT ALL PRIVILEGES ON *.* TO 'test_user'@'localhost' WITH GRANT OPTION |
+--------------------------------------------------------------------------+
ここまで確認出来てたら一度exit
で抜けて、作成したtest_user
でMySQLを実行します。
mysql> exit
$ sudo mysql -u test_user -p
Enter password: test_pass
#データベース作成
次はデータベースの作成をします
CREATE DATABASE mydb;
作成出来ているか確認します。
mysql> SHOW DATABASES;
+--------------------+
| Database |
+--------------------+
| information_schema |
| mydb |
| mysql |
| performance_schema |
| sys |
+--------------------+
#テーブル作成
最後にテーブルを作成します。
まず、先ほど作成したデータベースを使います。
mysql> USE mydb;
Database changed
テーブルの作成をします。
ここではよく使うであろうユーザー情報のテーブルを作成します。
CREATE TABLE user (
id INT NOT NULL PRIMARY KEY AUTO_INCREMENT,
name VARCHAR(64) NOT NULL,
password VARCHAR(256) NOT NULL,
mailaddress VARCHAR(256) NOT NULL UNIQUE);
テーブルが作成出来ているか確認します。
mysql> SHOW TABLES;
+----------------+
| Tables_in_mydb |
+----------------+
| user |
+----------------+
カラムの設定を確認します。
mysql> DESC user;
+-------------+--------------+------+-----+---------+----------------+
| Field | Type | Null | Key | Default | Extra |
+-------------+--------------+------+-----+---------+----------------+
| id | int(11) | NO | PRI | NULL | auto_increment |
| name | varchar(64) | NO | | NULL | |
| password | varchar(256) | NO | | NULL | |
| mailaddress | varchar(256) | NO | UNI | NULL | |
+-------------+--------------+------+-----+---------+----------------+
ここまで作成すれば基本的なことは終了したと思います。
後は実際に使うデータを挿入したり、WEBアプリやサイトからアクセスしてデータを使用したりすればOK
以上です。