MySQLの使い方丨インストール方法からよく使うコマンドまで解説

MySQLの使い方丨インストール方法からよく使うコマンドまで解説

Shota Yamazaki

Shota Yamazaki

こんにちは、テクノロジー部の山﨑です。

データベースの勉強をすると必ずと言っていいほど目にするMySQL
この記事を読む方の中には、SQLを勉強したのはいいものの、実際どう使われているのか分からない、そもそもインストール方法が分からないという方も多いのではないでしょうか?

そんな方に向けてこの記事ではMySQLのインストール方法から基本的な使い方まで紹介します。

MySQLとは?

MySQLとは、オープンソースのSQLリレーショナルデータベース管理システム(RDBMS)です(カタカナだらけでわかりにくいですよね)。

簡単に説明すると、オープンソースなので無料で利用でき、高速かつ様々な便利機能があるため、大規模なWEBアプリやシステムで使用されるデータを蓄えるシステムです。

PHP、C++、Ruby、Javaなどの様々な言語と連携でき、プロジェクトの要件や自分の好みの言語を選択してデータベースを操作できるなど、さまざまなメリットがあります。
※今回は使い方に絞って説明するため、MySQLの概要やできることについては割愛させていただきます。

MySQLのインストール方法

実際に使わないと理解できないことも多くあるので、早速インストールしてみましょう!
順を追ってMacとWindowsでのインストール方法を説明します。

Macの手順を見る
Windowsの手順を見る

【Mac】インストール方法

最も手軽な手段として、Mac OS向けのオープンソースのパッケージ管理システム「Homebrew」を使ってMySQLをインストールします。

Homebrewのインストール

  1. ターミナルにコマンド入力
  2. ターミナルを起動させ下記のコマンドを入力します。

    $ /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
  3. パスワード入力
  4. ==> Checking for `sudo` access (which may request your password)...

    Macのユーザーアカウントのパスワードを入力してEnterを押すとHomebrewのインストールが開始されます。

  5. インストール完了確認
  6. Installation successful!

    このコードが表示されていればHomebrewのインストールが完了しています。

  7. バージョン確認
    brew --version

    バージョンを確認してみましょう。
    ※本記事執筆時点では4.2.21が最新です。

MySQLのインストール

Homebrewの下記のコマンドでMySQLをインストールしましょう。

brew install MySQL

問題なくインストールできてていれば、以下のコマンドを入力すればmysqlのバージョンが表示されます。
 

$ mysql --version

これでMacでのMySQLのインストールが完了しました!

【Windows】インストール方法

Windowsではインストーラーを利用できます。開発元であるOracle社の公式ページからダウンロード可能です。
Download MySQL Installer

ページにアクセスすると、ファイル名が2種類ありますが、

  • mysql-installer-web-community-8.0.37.0..msi : ネット環境下でのダウンロード
  • mysql-installer-community-8.0.37.0..msi : オフラインでのダウンロード

という違いがあります。どちらでもダウンロード可能ですが、この記事では”mysql-installer-web-community-8.0.37.0.msi”でダウンロードします。
 

Oracleのアカウントを作るかどうか聞かれますが、必要ない場合はページ下の「No thanks, just start my download」を選択するとインストーラーをダウンロードできます。

インストーラーを起動させると、「このアプリがデバイスに変更を加えることを許可しますか?」と確認が出ますが、すべて「はい」を選択してください。
 

インストーラー起動後、Choosing a Setup Typeの画面が出ます。用途に合わせたセットアップ方法を選択できるのですが、今回はFullを選択してNextをクリックします(必要な機能だけインストールしたい方はCustomにしましょう)。
※Check Requirementsの表示のある画面が出た場合、要件を満たしていないためインストールできない製品が表示されます。問題がなければ”Next”をクリックしてください。
 

Instrationの画面では、インストール項目に問題がなければExecuteを押してインストールしましょう。インストールが完了したらNextをクリックします。
 

Product Configrationが表示されたらNextをクリックします。Product欄に表示されているサーバーの初期設定に進みます。
 

Type and Networkingではコンフィグレーションタイプを選択します。
ここでは主に接続に関する設定を行います。

Config Typeは練習用なので「Development Machine」を選択し、TCP/IP使用(ポートNo.3306)、「Open Firewall port for network」にチェックを入れたらNextをクリックします。
 

Authentication Methodは、RECCOMENDEDと書かれた方を選択してNextをクリックしてください。
 

Accounts and Rolesではrootアカウントのパスワード設定を行います。
上部の入力欄に任意のパスワードを入力してください。
 

同じ画面からAdd Userをクリックすると、詳細設定のダイアログが表示されるので入力して、Nextをクリックします。
 

Windows Serviceでは、MySQLをWindowsのサービスに追加するかの設定をします。

「Configure MySQL Server as a Windows Service」にチェックを入れると、「Windows Service Name」に入力した名前で、MySQLをWindowsのサービスに追加できます。入力が終わったらNextをクリックします。
 

Server File Permissionsでは、一番上を選択してNextをクリックしてください。
 

Apply ConfigurationでExecuteをクリックすると、これまでの設定を反映できます。完了したらFinishというボタンが出るのでクリックしてください。
 

続いてMySQL Router Configurationという画面が出ますが、そのままFinishをクリックして大丈夫です。
 

次にConnect To Serverという画面が出ます。ここではPassword欄に、さきほど設定した管理者用パスワードを入力してCheckをクリックしてください。

問題なければ、Status欄に緑色で「Connextion succeeded」と表示されるので、Nextをクリックしましょう。
 

Apply Configurationの画面が表示されます。Executeをクリックすると、今までの設定が反映できますので、完了後にFinishをクリックしてください。
 

これでWindowsでのインストールが完了しました!

合わせて準備しておくといいツール

  • MySQL Workbench
  • MySQLの設計、開発、管理をおこなうための統合ツールで、ビジュアルデザインやデータモデリングなどの様々な機能があります(Windowsではインストール時にFull設定にすると自動でダウンロードされます)。

  • phpMyAdmin
  • ブラウザベースのMySQL管理ツールで、直感的なインターフェースを持ち、テーブル編集やSQLクエリの実行などが簡単に行えます。

  • mysqldump
  • コマンドラインツールで、バックアップを作成するときなどに使用します。自動バックアップ設定も可能です。

これだけ押さえれば最低限使える!MySQLの使い方

MySQLはWindowsであればコマンドプロンプト、Macであればターミナルで操作します。

【Windowsのみ】環境変数の設定

Windowsの場合、コマンドプロンプトからMySQLに接続するためには、環境変数設定をおこなう必要があります。

まずMySQL Serverのフォルダパスをコピーします。Windows10の場合、スタートを右クリックし「システム」をクリックします。

開いた設定画面の右側にある「システム詳細設定」をクリックし、さらに開いた画面にて「環境変数」をクリックします。「ユーザの環境変数」の「Path」を選択し「編集」をクリックします。「新規」ボタンをクリックしてコピーしたパスを貼り付ければ完了です。

初期設定と起動方法

MacとWindowsで手順が異なるため、分けてご紹介します。

Macの場合はこちら
Windowsの場合はこちら

【Mac】初期設定と起動方法

初期設定をするためには以下のコマンドを実行します。

sudo mysql_secure_installation

 
実行すると、以下のMySQLサーバーをセキュリティ強化する旨のメッセージが表示されます。

Securing the MySQL server deployment.

Connecting to MySQL using a blank password.

VALIDATE PASSWORD COMPONENT can be used to test passwords
and improve security. It checks the strength of password
and allows the users to set only those passwords which are
secure enough. Would you like to setup VALIDATE PASSWORD component?

Press y|Y for Yes, any other key for No:

「VALIDATE PASSWORD COMPONENT can be〜」はパスワードの強度をチェックし、セキュリティを向上させるためのものです。

設定する場合はy、設定しない場合はnを入力します。今回はyを入力してVALIDATE PASSWORD COMPONENTを有効にします。
 

There are three levels of password validation policy:

LOW    Length >= 8
MEDIUM Length >= 8, numeric, mixed case, and special characters
STRONG Length >= 8, numeric, mixed case, special characters and dictionary                  file

Please enter 0 = LOW, 1 = MEDIUM and 2 = STRONG:

上記のように、パスワードの強度レベルの選択メッセージが表示されます。0~2までの3つのレベルが設定されているので、要件に応じて選択しましょう。

今回は2を選択します。
 

Please enter 0 = LOW, 1 = MEDIUM and 2 = STRONG: 2
Please set the password for root here.

New password: 
Re-enter new password:

続いてルートユーザーのパスワードを設定するメッセージが表示されます。任意のパスワードを設定し、再確認でもう一度パスワードを入力してください。
 

Remove anonymous users? Press y|Y for Yes, any other key for No:

MySQLはデフォルトで匿名ユーザーが設定されていますが、匿名ユーザーを除外するか設定できます。セキュリティのためにここではyを入力して削除しましょう。
 

Disallow root login remotely? Press y|Y for Yes, any other key for No:

リモートルートログインの無効化設定のメッセージです。
セキュリティのためyを入力し、無効化しましょう。
 

Remove test database and access to it? Press y|Y for Yes, any other key for No:

テストデータベースとアクセス権を削除しますかというメッセージです。
テストデータベースが不要であれば、セキュリティ向上のためにもyを入力しましょう。
 

Reload privilege table now? Press y|Y for Yes, any other key for No:

すべての設定が完了したら、yを入力して権限テーブルをリロードします。
 

All done!

このメッセージが出力されていれば初期設定完了です! MySQLを起動するためには以下のコマンドを実行します。

mysql.server start

 
ターミナルに以下が表示されていれば、MySQLの起動に成功しています。

Starting MySQL
 SUCCESS!

Windowsの初期設定と起動方法

コマンドプロンプトを起動し、以下のコマンドを実行し、rootユーザーのパスワードを入力してMySQLに接続します。

mysql -u root -p

 
以下のコマンドを実行して匿名ユーザーを削除しましょう。

DELETE FROM mysql.user WHERE User='';

 
次に以下のコマンドを実行し、rootユーザーのリモートログインを禁止します。

DELETE FROM mysql.user WHERE User='root' AND Host!='localhost'

 
次に以下のコマンドを実行し、テストデータベースを削除します。

DROP DATABASE test;

 
最後に以下のコマンドを実行し、特権テーブルをリロードします。

FLUSH PRIVILEGES;

これらのステップを実行することで、’sudo mysql_secure_instrallation’で行われるセキュリティ設定をWindows環境でも実現できました。

コマンドプロンプトで以下のコマンドを実行すれば、MySQLを起動できます。

net start MySQL80

 
ここで’MySQL80’はインストールしたMySQLサービス名です。バージョンに応じて異なる場合があります。インストールされたMySQLのサービス名を確認するためには以下のコマンドを実行します。

sc query type= service state=all | findstr /i "mysql"

サーバーにログインする

mysqlコマンドを使うと、MySQLサーバーに接続できます。基本的にWindowsもMacも同じコマンドで操作することが可能ですが、サーバー接続時およびサーバー接続中は全てのコマンドの末尾に;が必要なので注意しましょう。

mysql -u root -p;

と入力すると、パスワードを要求されます。
インストール時に設定したrootのパスワードを入力し、ログインしましょう。

データベースの作成

新規のデータベースを作成するためには

create database (任意のデータベース名);

と入力します。

既存のデータベースを確認するためには

show database;

と入力します。

データベースへの接続

mysql use (任意のデータベース名);

と入力することでデータベースへの接続ができます。
データベース名は任意のもので大丈夫です。

テーブル作成

テーブルはデータベースの中に作成するので、データベースに接続した状態で作成します。

mysql create table (任意のテーブル名) (num integer, name text);

と入力すると、新規のテーブル(任意のテーブル名)が作成されます。

既存のテーブルを表示させるには

mysql show tables;

と入力します。

テーブルにデータを追加

テーブルにデータを追加したいときは、INSERTを使います。
先ほど作成したテーブルにデータを追加します。

mysql INSERT (任意のテーブル名) VALUES (1, "こんにちは")
mysql INSERT (任意のテーブル名) VALUES (2, "Hello")

と入力すると下記のようなテーブルが作成されます。


num name
1 こんにちは
2 Hello

データベースの削除

データベースを削除するためには

mysql drop database (削除したいデータベース名);

と入力します。

MySQLの学習におすすめのサイト・本

今回はインストールから最低限の使い方までを紹介しましたが、より深く学んでみたいと思った方に向けて、初心者向けの教材をご紹介します。

  • ドットインストール MySQL入門
  • 動画レッスンを見ながらMySQLの使い方を学ぶことができるサイトです。全27パートに分けて必要な機能をじっくり学べます。有料の教材ですが、最初の5パートまでは無料で公開されています。

  • Schoo MySQL入門
  • スライド資料もしくは動画レッスンを見ながらMySQLの使い方を学ぶことができるサイトです。「データベースとは?」という基本的な全7パートに分かれていて、実践的な使い方を学ぶことができます。

  • 基礎からのMySQL 第3版

  • 基礎からというタイトル通り専門的すぎる内容がないため、初心者でも読みやすい書籍です。初学者の躓きやすい疑問点の解説や、初歩的なPHPの解説もあるため、PHPを学習し始めた方にもおすすめです。

まとめ

MySQLのインストール方法から基礎的な使い方までをまとめました。

MySQLを使うとその豊富な機能から高いパフォーマンスで大規模なデータベースを処理することができます。さらに他のツールと組み合わせることで、より作業が効率的になります。

MySQLを動かすには他の知識や準備が必要となりますが、この記事を参考に実際にMySQLを動かす機会にしていただけると幸いです。

この記事のシェア数

Shota Yamazaki
Shota Yamazaki Technology / Technical Director / 山﨑 翔太

大手IT企業のWebサイト運営に関するディレクション業務を担当。AIやアプリ開発など、情報数学を含むIT関連の幅広い分野に精通。山形大学でデータサイエンスの学位を取得後、LIGに入社。

このメンバーの記事をもっと読む
10年以上の開発実績があるLIGが、最適な開発体制や見積もりをご提案します
相談する サービス概要を見る