続いてMySQLのクライアントプログラムを起動してみましょう。

MySQLクライアントプログラムからサーバプログラムにアクセスするにはMySQLのユーザ名とパスワードを指定する必要があります。MySQLサーバプログラムをインストール時点のデフォルトでは以下のユーザが用意されています。

  • ユーザ名:root
  • パスワード:なし

デフォルトで作成される root という名前のユーザはMySQLの管理者アカウントになります。MySQLでは root 以外の独自のユーザを作成することもできますが、本講座ではこの root ユーザを使って動作を確認していくことにします。

パスワードの設定方法やデータベースの初期化方法については後ほど解説します。

それではMySQLのクライアントプログラムを起動してみましょう。ターミナルから次のように入力します。

$ mysql -u root -p

そうすると以下のようにパスワードの入力を求められます。

$ mysql -u root -p
Enter password: 

ここでは未入力のままでよいのでEnterキーを入力してみましょう。そうすると次のような結果が表示されるでしょう。

$ mysql -u root -p
Enter password: 
Welcome to the MariaDB monitor.  Commands end with ; or \g.
Your MariaDB connection id is 8
Server version: 10.2.38-MariaDB MariaDB Server

Copyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab and others.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

MariaDB [(none)]> 

上記のようなメッセージが表示されれば大丈夫です。MySQLのクライアントプログラムからサーバプログラムに上手く接続できています。

参考:MySQLサーバプログラムが起動していない場合

mysql -u root -p コマンドでMySQLのクライアントプログラムが起動します。もしMySQLのサーバプログラムが起動していない場合は次のようなエラーメッセージが表示されます。

$ mysql -u root -p
Enter password: 
ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock' (2)

上記のようなエラーメッセージを表示された場合は sudo systemctl status mariadb と入力してMySQLのサーバプログラムが起動していることを確認してください。

MySQLデータベース

MySQLはサーバプログラム(単純にサーバと呼んだり、サービスとも呼びます)上に複数のデータベースを構築することができます。名前が紛らわしいのですが、MySQLの中に目的に合わせて、複数のデータベースを作成できるようになっています。

インストールされてすぐのデフォルトの状態では、以下の4つのデータベースが存在します。

  • information_schema
  • mysql
  • performance_schema
  • test

information_schemamysqlperformance_schema はMySQLの内部情報を管理する特殊なデータベースです。本講座ではこれらのデータベースは利用しません。さいごの test データベースは動作確認に利用できます。

それでは実際に4つのデータベースが生成されていることを確認してみましょう。MySQLクライアントプログラムを起動した状態で show databases と入力するとMySQL上のデータベースの一覧を確認できます。

MariaDB [(none)]> show databases;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| mysql              |
| performance_schema |
| test               |
+--------------------+
4 rows in set (0.00 sec)

MariaDB [(none)]> 

上記のように4つのデータベースの名前が確認できるでしょう。

MySQLデータベースへの接続

つづいてMySQLの test データベースに接続してみましょう。データベースに接続するには use コマンドを使います。MySQLクライアントプログラムを起動した状態で use test と入力します。

MariaDB [(none)]> use test
Database changed
MariaDB [test]> 

上記のように Database changed と出力されれば test データベースとの接続は完了です。

test データベース上のテーブル一覧の確認

use test と入力して test データベースに接続したら、データベースの中にあるテーブルの一覧を確認できます。MySQLクライアントプログラムを起動した状態で show tables; と入力します。さいごの ; の入力にも注意してください。

MariaDB [test]> show tables;
Empty set (0.00 sec)

MariaDB [test]> 

上記のように Empty set と出力された場合は、テーブルが0件だということがわかります。

テーブルの作成方法についてはあとの講座で解説することにします。いったん、MySQLクライアントプログラムを終了しておきましょう。MySQLクライアントプログラムを起動した状態で quit と入力します。

MariaDB [test]> quit
Bye

上記のように Bye というメッセージが確認できればMySQLクライアントプログラムは終了できています。ターミナルが元の状態に戻っていることが確認できるでしょう。

MySQLコマンドのまとめ

ここで学習したコマンドについて整理しておきましょう。

コマンド 意味
mysql -u root -p MySQLクライアントプログラムを起動する。
-u root はユーザ名は root、 -p は パスワードを入力するという意味

上記のプログラムでMySQLのクライアントプログラムが起動します。

MySQLのクライアントプログラムが起動した後は、以下のMySQL固有のコマンドを利用できます。

コマンド 意味
show databases MySQLサーバ内のデータベース一覧を表示する
use test test という名前のデータベースに接続する
show tables 接続しているデータベース内のテーブル一覧を表示する
quit MySQLクライアントプログラムを起動する

ここまででMySQLを扱うためのサーバプログラムの起動とクライアントプログラムの起動は完了です。そのまま test データベースを利用してSQLの学習を始めることもできますが、その前に root アカウントのパスワードの設定などデータベースを初期化する方法を解説します。

まとめ

  • mysql コマンドでMySQLクライアントを起動する
  • MySQLサーバ上に複数のデータベースを保持できる
  • mysql クライアントを起動したら use コマンドで接続先データベースを決定する