MySQLで一般クエリーログを出力する設定にする

MySQL(MariaDB)で、SQLのクエリーログを出力する

MySQLやMariaDBでクエリーを実行したSQLを出力するには、一般クエリログで確認できるので、この項目を有効にしてログファイルの出力先を指定すれば、ログファイルに出力されます。

「my.cnf」の[mysqld] の設定内で下記のように設定すれば、一般クエリーログは吐き出す設定になります

設定を変更したら、一般クエリーログを吐き出すディレクトリを作成します

設定ファイルを読み直すためにMySQLを再起動します

一般クエリーログをログローテートする

一般クエリーログを出力したままでログローテートをしない場合は、ログファイルが肥大化してディスクの容量が圧迫していくのでログローテーションをおこなう設定をします

ログローテートを行うためにlogrotateの設定ファイルに「MySQL」の設定を追加します。
下記ではエラーログ及び一般クエリーログをログローテートしています。ログの保存期間は1週間で設定しています

ログローテートする時に「mysqladmin flush-logs」を実行します。その際に認証ファイルが必要になります。
認証ファイルには実行ユーザーとパスワードを設定する必要がありますので、「/root/.my.cnf」の認証ファイルを作ります

パスワードを記載しているので「root」のみ読み書きできるようにパーミションを変更します