[MySQL]SQL実行時に発生したwarningを確認する方法

mysql_logo

この記事には広告を含む場合があります。

記事内で紹介する商品を購入することで、当サイトに売り上げの一部が還元されることがあります。

warningの確認方法

MySQLをコマンドで打ち込んでいると、warningを見かけることがあります。
MySQLはerrorのときはエラー内容が表示されますが、warningのときは表示されません。warningの内容を確認する方法は無いのか!?ということで、MySQLにてwarningを確認する方法を確認してみましょう。

 

warningを確認するコマンド

MySQLのWARNINGを確認するときは、「SHOW WARNINGS」コマンドで行います。

SHOW WARNINGS;
直前に実行したSQLのWARNINGのみ確認が可能です。つまり別コマンドを実行すると「SHOW WARNINGS」で確認できる内容は上書きされます。

 

warningを確認したときのサンプル

サンプルとして、AWSのEC2環境にて、
OS:Ubuntu 16.0.4
DB:MySQL 5.7.16
の環境で動作確認を行ったときの内容を記載しています。

mysql> GRANT USAGE ON *.* TO 'hogehoge'@'localhost' WITH MAX_USER_CONNECTIONS 0;
Query OK, 0 rows affected, 1 warning (0.00 sec)

mysql> SHOW WARNINGS;
+---------+------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| Level   | Code | Message                                                                                                                                                                            |
+---------+------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| Warning | 1287 | Using GRANT statement to modify existing user's properties other than privileges is deprecated and will be removed in future release. Use ALTER USER statement for this operation. |
+---------+------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+

mysql> SHOW WARNINGS\G
*************************** 1. row ***************************
  Level: Warning
   Code: 1287
Message: Using GRANT statement to modify existing user's properties other than privileges is deprecated and will be removed in future release. Use ALTER USER statement for this operation.
1 row in set (0.00 sec)

 

SQL実行時にwarningも表示させる方法

「SHOW WARNINGS」コマンドを何度も実行するのも大変なので、SQL 実行時にすぐに WARNING を表示する方法も一緒に紹介します。

MySQL にログインするときに

–show-warnings

のオプションを付与する方法です。
※phpmyadmin などのツールでは使用できませんので悪しからず(苦笑)。

 

SQL実行時にwarningを表示させたサンプル

root@hostname:# mysql -uroot -p --show-warnings
(中略)
mysql> GRANT USAGE ON *.* TO 'hogehoge'@'localhost' WITH MAX_USER_CONNECTIONS 0;
Query OK, 0 rows affected, 1 warning (0.00 sec)

Warning (Code 1287): Using GRANT statement to modify existing user's properties other than privileges is deprecated and will be removed in future release. Use ALTER USER statement for this operation.

 

 

ウェブプログラミングについては下記の本も参考になるので、スキルアップにお役立てください。

created by Rinker
徳丸 浩(著)
ページ数: 688ページ
出版社:SBクリエイティブ
発売日:2018/06/21

出典:amazon