MySQLコマンド
MySQLコマンドを実行するにはターミナルを利用します。
OS | アプリ |
---|---|
macOS | ターミナル.app |
Windows | コマンドプロンプト、PowerShell |
Linux | ターミナル |
ターミナル.app(Mac)

Powershell(Win)

XAMPPのコマンドプロンプト
コマンドプロンプトを開く
XAMPPの場合、「XAMPP Control Panel」の【Shell】でコマンドプロンプトを開きます。

バージョン確認
mysql
コマンドでバージョンを表示します。
ターミナル
mysql -V
MySQLのバージョンが表示されます。
ターミナル
mysql Ver 15.1 Distrib 10.1.34-MariaDB, for Win32 (AMD64)
macOSの場合
バージョンの確認
MAMPの mysql
コマンドのパスを確認します。MySQL8.x のパスは以下のパスになります。
/Applications/MAMP/Library/bin/mysql80/bin

bin
フォルダを右クリックで「フォルダーに新規ターミナルタブ」を選択します。

ターミナルが開きました。bin
フォルダに移動した状態になっています。

以下のようにターミナルで移動しても構いません。
ターミナル
cd /Applications/MAMP/Library/bin/mysql80/bin
バージョン確認
mysql
コマンドでバージョンを表示します。
ターミナル
mysql -V
MySQLのバージョンが表示されます。
ターミナル
./mysql Ver 14.14 Distrib 5.7.32, for osx10.12 (x86_64) using EditLine wrapper
mysqlコマンドのパス
mysql コマンドを直接実行
mysql
コマンドを実行するとき、フォルダに毎回移動するのは面倒です。そこで、どこでもmysql
コマンドを実行できるように、ファイルパスを設定します。
詳しくは、「XAMPP・MAMPで開発環境構築」のカリキュラムを参考に設定してください。
mysql コマンドの確認
パス設定したら任意の場所で mysql
コマンドしてバージョンを表示します。
ターミナル
mysql -V
mysql Ver 8.0.23 for osx10.16 on x86_64 (Homebrew)
MySQLサーバにログイン
ログインコマンド
MySQLサーバにログインする基本コマンドです。
ターミナル
mysql -u ユーザ名 -p
オプションは以下のとおりです。
オプション | 値 | 説明 | 備考 |
---|---|---|---|
-u | ユーザ名 | MySQLに登録したユーザ名 | rootが最高権限 |
-p | パスワード | MySQLに登録したパスワード | 省略するとパスワードなし |
ホスト名を使う場合
-h
オプションを利用すると、外部のMySQLサーバにログインできます。なお、-h
オプションを利用しない場合は、localhost*(127.0.0.1)
となります。
ターミナル
mysql -u ユーザ名 -p -h ホスト名
ログイン
rootユーザでログイン
root
ユーザでMySQLサーバにログインしてみましょう。
ターミナル
mysql -u root -p
パスワード入力
パスワードを入力してログインします。
ターミナル
Enter password:
- パスワードがない場合は、そのまま
Enterキー
を確定します。
種類 | パスワード |
---|---|
XAMPP(Windows) | なし |
MAMP(Mac) | root |
通常インストール | MySQLインストール時に設定 |
ログインの確認
MySQLサーバにログインが成功するとターミナルに mysql>
のような表示になります。この状態でSQL
を入力します。
MySQLの場合
mysql>
MariaDBの場合
MariaDB[(none)]>
SQLコマンドの実行
ターミナルにSQLを入力してみましょう。
SQLコマンドの基本
ターミナルに表示された >
のあとにSQL文を入力します。SQL文の行末には ;
を入力し、Enterキー
で確定します。
ターミナル
mysql> SQL文;
データベース一覧
SHOW DATABASES
はデータベースの一覧を表示します。
ターミナル
SHOW DATABASES;
- SQLは大文字が基本ですが、ターミナル入力では小文字でも構いません。
ターミナル
> show databases;
+--------------------+
| Database |
+--------------------+
| default |
| information_schema |
| mysql |
| performance_schema |
| sys |
+--------------------+
6 rows in set (0.00 sec)
入力を間違えた場合
入力を間違えた場合は、;
を入力して確定してから、もう一度 SQLを入力します。エラーが出ても特に問題はありません。
ターミナル
> showdatbase;
ERROR 1064 (42000): You have an error in your SQL syntax;
...
> show databases;
ユーザの作成
一般ユーザ作成
DB操作ではセキュリティを考慮して一般ユーザを作成して、アクセス権を制限します。
本番環境でrootユーザは利用しない
本番環境では root
ユーザ(管理者権限)で直接操作せず、新規で一般ユーザを作ります。
ユーザ追加
CREATE USER
で一般ユーザを作成します。
項目 | 値 |
---|---|
ユーザ名 | test |
パスワード | password |
ホスト | localhost |
ターミナル
CREATE USER 'ユーザ名'@ホスト名 identified by 'パスワード';
ターミナル
create user 'test'@localhost identified by 'password';
パスワード変更
パスワードは SET PASSWORD
で変更できます。test
ユーザのパスワードを password
に変更した例です。
ターミナル
set password for 'test'@'localhost' = 'password';
パスワードポリシーが厳しい場合
MySQLのバージョンによってはパスワードのポリシーが厳しくエラーになります。パスワードポリシーを低くするには、validate_password
を実行します。
ターミナル
set global validate_password.policy=LOW;
ユーザ権限の設定
GRANT
でデータベースのユーザ権限を設定します。
ターミナル
GRANT 権限 ON *.* to 'ユーザ名'@localhost;
test
ユーザにすべてのDB権限を付与する例です。
ターミナル
grant all privileges on *.* to 'test'@localhost;
アクセス権限の確認
ログアウト
exit
でログアウトします。
ターミナル
exit
ユーザ名でログイン
作成したユーザ名でMySQLサーバにログインします。 ※「test」ユーザでログインした場合
ターミナル
mysql -u test -p
ユーザの確認
ログインできたら、SQLでユーザを確認します。
ターミナル
select user();
ユーザが確認できました。
ターミナル
+--------------------+
| user() |
+--------------------+
| test@localhost |
+--------------------+
1 row in set (0.00 sec)
ログアウト
test
ユーザでログインを確認できたら、ログアウトしておきましょう。
ターミナル
exit