MySQLをインストールして接続しよう
MySQLとは
MySQL? オープンソースのリレーショナルデータベース管理システム(RDBMS)。世界で最も広く使われるDBの一つで、Webアプリケーションのバックエンドに多用される。 は世界で最も広く使われているオープンソースの RDBMS? リレーショナルデータベース管理システムの略。データを表(テーブル)の形で管理し、SQL で操作する。MySQL・PostgreSQL・SQLite などが代表例。 (リレーショナルデータベース管理システム)のひとつです。Webアプリケーションのバックエンドでデータを永続化するために活用され、WordPress・Laravel・Railsなど多くのフレームワークと組み合わせて使われています。
RDBMS? リレーショナルデータベース管理システムの略。データを表(テーブル)の形で管理し、SQL で操作する。MySQL・PostgreSQL・SQLite などが代表例。 では、データをテーブル(表) という形式で管理します。スプレッドシートのように行と列でデータを整理し、テーブル同士を関連付けることで複雑な情報を効率よく扱えます。
インストール方法
macOS(Homebrew)
# Homebrewでインストール
brew install mysql
# サービスを起動
brew services start mysql
# 初期セキュリティ設定
mysql_secure_installation
Ubuntu / Debian
sudo apt update
sudo apt install mysql-server
# サービスを起動
sudo systemctl start mysql
sudo systemctl enable mysql
# 初期セキュリティ設定
sudo mysql_secure_installation
Windows / 公式インストーラ
MySQL公式サイトからMySQLインストーラをダウンロードし、画面の指示に従ってインストールします。インストール時にrootパスワードを設定するので、忘れないようにメモしておきましょう。
MySQLに接続する
インストールが完了したら、mysql コマンドでサーバーに接続します。
# rootユーザーで接続(パスワード入力プロンプトが表示される)
mysql -u root -p
# ホストを指定して接続(デフォルトはlocalhost)
mysql -h localhost -u root -p
# データベースを指定して接続
mysql -u root -p myapp_db
接続に成功すると、以下のようなプロンプトが表示されます。
Welcome to the MySQL monitor. Commands end with ; or \g.
mysql>
基本コマンド
MySQLに接続したら、まず以下のコマンドを覚えましょう。すべてのSQL文は セミコロン(;) で終わります。
データベース一覧を表示する
SHOW DATABASES;
+--------------------+
| Database |
+--------------------+
| information_schema |
| mysql |
| performance_schema |
| sys |
+--------------------+
データベースを選択する
USE myapp_db;
テーブル一覧を表示する
SHOW TABLES;
MySQLのバージョンを確認する
SELECT VERSION();
接続を終了する
EXIT;
-- または
QUIT;
ルートユーザーと一般ユーザー
MySQLにはrootユーザー(管理者)と一般ユーザーの概念があります。
| ユーザー種別 | 権限 | 使いどころ |
|---|---|---|
| root | すべての操作が可能 | 管理作業・初期設定 |
| 一般ユーザー | 特定のDBのみ操作 | アプリケーションからの接続 |
本番環境では、アプリケーションにrootユーザーの認証情報を渡すのは危険です。必要最小限の権限を持つ専用ユーザーを作成して使いましょう(詳しくはEp.08で解説します)。
一般ユーザーを作成する(プレビュー)
-- ユーザーを作成
CREATE USER 'appuser'@'localhost' IDENTIFIED BY 'securepassword';
-- 特定のデータベースへの権限を付与
GRANT ALL PRIVILEGES ON myapp_db.* TO 'appuser'@'localhost';
FLUSH PRIVILEGES;
まとめ
- MySQLはオープンソースのRDBMSで、データをテーブル形式で管理する
mysql -u ユーザー名 -pで接続できるSHOW DATABASES;USE db名;SHOW TABLES;が基本コマンド- 本番環境では専用の一般ユーザーを使うのが基本
次回は、実際にデータベースとテーブルを作成する方法を学びます。