経緯
業務ではwindowsを使用しているが自宅のPCはmacなので自宅の環境でもDB操作を行えるようにMySQLを導入する。
大まかな流れ
1.Homebrewをインストールする
2.MySQLをインストールする
3.MySQLの起動
4.DBの作成
5.まとめ
それでは始めていきます。
1.Homebrewをインストールする
そもそもHomebrewとは?
アップル(またはあなたのLinuxシステム)が提供していないあなたの必要なものをインストールできます。
引用元:https://brew.sh/ja/
とのことです。
Macのターミナルを使用しコマンドで様々なソフトをインストールしたりする際に必要なものみたいですね。
今回はそのHomebrewを使用して進めていきます。
Homebrewをインストール
brewの公式サイトにあるように、下記のコマンドを使用してインストールします。
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
下記のようにインストールが始まります。
その際にパスワードを入力する必要があるので入力してEnterを押すとインストールが始まります。
$ /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
==> Checking for `sudo` access (which may request your password)...
Password:
かなり時間がかかりますがsuccessfulになるまで待ちましょう。
Homebrewがインストールされたか確認
インストールの確認にはターミナルで下記のbrewコマンドを使用します。
-vオプションをつけるとバージョンを確認できます。
$ brew -v
下記のようにHomebrewのバージョンが表示されていれば問題なくインストールは完了です。
$ brew -v
Homebrew 4.2.3
2.MySQLをインストールする
続いてHomebrewを使用して、MySQLをインストールします。
MySQLをインストール
下記コマンドをターミナルで入力します。
$ brew install mysql
下記のようにダウンロードが始まります。
==> Downloading https://ghcr.io/v2/homebrew/core/mysql/manifests/8.2.0_1
################################################################################################################### 100.0%
==> Fetching dependencies for mysql: icu4c, ca-certificates, openssl@3, libevent, libcbor, libfido2, lz4, protobuf@21, zlib, xz and zstd
以下省略
インストールしたmysqlの情報を確認する場合は、下記コマンドで。
$ brew info mysql
バージョン確認
$ mysql --version
問題なければ下記のように表示されます。
mysql Ver 8.2.0 for macos12.6 on x86_64 (Homebrew)
3.MySQLの起動や停止など
ここまではMySQLのダウンロードまで記述してきましたがここからは実際に起動し、テーブルの作成等も進めていきます。
mysqlはインストールしただけでは起動していません。
利用する場合は起動をしましょう。
また、使い終わったら停止しておきましょう、バッテリー結構消耗しがちなので。
MySQLの起動
MySQLを使用する際には下記コマンドで起動しなければいけません。
$ mysql.server start
起動すると下記のように「SUCCESS」と表示されます。
MacBook:~ hoge$ mysql.server start
Starting MySQL
...... SUCCESS!
MySQLの停止
起動したMySQLは使用しない場合には下記コマンドで都度停止しておきましょう。
$ mysql.server stop
停止すると下記のように「SUCCESS!」と表示されます。
MacBook:~ hoge$ mysql.server stop
Shutting down MySQL
. SUCCESS!
MySQLにログインする
下記コマンドでMySQLにログインしましょう。
$ mysql -uroot
MySQLのバージョン確認
下記コマンドでバージョンの確認が可能です。
mysql> show variables like 'version';
+---------------+-------+
| Variable_name | Value |
+---------------+-------+
| version | 8.2.0 |
+---------------+-------+
1 row in set (0.26 sec)
MySQLのユーザー確認
下記コマンドでユーザーの確認が可能です。
mysql> select user();
+----------------+
| user() |
+----------------+
| root@localhost |
+----------------+
1 row in set (0.03 sec)
ユーザーの作成を行う
下記ユーザーを作成します。
ユーザ名:jkuroyanag
パスワード:hoge
mysql> create user 'jkuroyanag'@localhost identified by 'hoge';
Query OK, 0 rows affected (0.23 sec)
ユーザの再確認
jkuroyanagが作成されていることを確認。
mysql> select user, host from mysql.user;
+------------------+-----------+
| user | host |
+------------------+-----------+
| jkuroyanag | localhost |
| mysql.infoschema | localhost |
| mysql.session | localhost |
| mysql.sys | localhost |
| root | localhost |
+------------------+-----------+
5 rows in set (0.13 sec)
※ユーザーの削除は下記コマンドで行う。
mysql> drop user 'jkuroyanag'@localhost;
Query OK, 0 rows affected (0.20 sec)
4.DBの作成
実際に使用するmydbというデータベースを作成していきます。
mysql> create database mydb;
Query OK, 1 row affected (0.16 sec)
下記コマンドでmydbというデータベースが作成されたことを確認できました。
mysql> show databases;
+--------------------+
| Database |
+--------------------+
| information_schema |
| mydb |
| mysql |
| performance_schema |
| sys |
+--------------------+
5 rows in set (0.02 sec)
作成したDBにチェックアウト
テーブル等を作成する前にどのDBを使用するか下記のように宣言する必要があります。
mysql> use mydb
Database changed
テーブルの作成
今回はdogというテーブルを作成します。
mysql> create table dog(
dog_id INT(10) NOT NULL,
dog_name VARCHAR(30) NOT NULL,
PRIMARY KEY(dog_id)
);
Query OK, 0 rows affected, 1 warning (0.37 sec)
無事テーブルが作成されました。
mysql> desc dog;
+----------+-------------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+----------+-------------+------+-----+---------+-------+
| dog_id | int | NO | PRI | NULL | |
| dog_name | varchar(30) | NO | | NULL | |
+----------+-------------+------+-----+---------+-------+
2 rows in set (0.01 sec)
テーブルにデータを挿入
今回はmokuとmugiという2匹の犬情報をinsertします。
mysql> insert into dog values(1,"moku");
Query OK, 1 row affected (0.11 sec)
mysql> insert into dog values(2,"mugi");
Query OK, 1 row affected (0.01 sec)
下記のようにデータもinsertされていることを確認。
mysql> select * from dog;
+--------+----------+
| dog_id | dog_name |
+--------+----------+
| 1 | moku |
| 2 | mugi |
+--------+----------+
2 rows in set (0.05 sec)
ひとまずbrewでのmySQLはここまでとします。
他にも色々なことができるので興味がある方がmysqlについて調べてみてください。
5.まとめ
なんとかこれで自宅のmacでもDB操作が行えるようになりました。
これからintellijにDB接続をしてspring+myBatisでコードを書いていきたいと思います。
雑にまとめてしまっているので何か間違っていたり気になる点があればご指摘いただけますと幸いです。
引き続き頑張ります。