やりたいこと
MySQLのデータベースをシェルスクリプトにて操作する。
その実行内容と結果をログとして残しておきたい。
手順
オプションを使用する。
-v –verbose
-vを追加すると実行クエリが標準出力されるようになる。
-vv -vvvという形で、vを追加するごとに出力内容も追加される。
以下はコマンド実行例。
% mysql -h {ホスト名} -u {ユーザ名} -D {データベース名} --password={パスワード} -v -e "{クエリ}" >> {ログファイル名}
上記コマンドを元に、WordPressのテーブルに対するクエリ結果をshell.logに出力してみる。
% mysql -h {ホスト名} -u {ユーザ名} -D {データベース名} --password={パスワード} -v -e "SELECT * FROM wp123456options ORDER BY option_id DESC LIMIT 1" >> shell.log
ログファイルの内容は以下。
% cat shell.log -------------- SELECT * FROM wp123456options ORDER BY option_id DESC LIMIT 1 -------------- option_id option_name option_value autoload 2930 _transient_feed_xxx xxx no
-vv
-vvでは実行したクエリの操作件数が付加される。
-------------- SELECT * FROM wp123456options ORDER BY option_id DESC LIMIT 1 -------------- option_id option_name option_value autoload 2930 _transient_feed_xxx xxx no 1 row in set (0.00 sec) Bye
-vvv
-vvvでは、実行結果がテーブル形式で出力される。
-------------- SELECT * FROM wp123456options ORDER BY option_id DESC LIMIT 1 -------------- +-----------+------------------------------------------------------+--------------+----------+ | option_id | option_name | option_value | autoload | +-----------+------------------------------------------------------+--------------+----------+ | 2930 | _transient_feed_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx | xxxxxxxxxx | no | +-----------+------------------------------------------------------+--------------+----------+ 1 row in set (0.00 sec) Bye