LoginSignup
8
3

More than 3 years have passed since last update.

MySQL データベース作成入門

Last updated at Posted at 2019-12-07

やること

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

以上です。

参考サイト

8
3
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
8
3