Mac環境:macOS Catalina 10.15.5
個人開発の環境構築でMySQLを導入。(全然うまくいかず)
その際にエラーログを確認できるディレクトリを作成した。
mysqlのログには4つの種類がある
実行エラーログ
起動、停止及び実行時のエラーが保存されます。
MySQLで障害発生時に障害特定の情報を得ることが出来ます。
クエリログ
全てのSQL文(接続を含む)が保存されます。
クエリログはクエリを受け取った時点でログを書き込みます。
サーバ負荷の問題があるので、開発時またはデバッグ時に使用します。
スロークエリログ
指定した時間(秒)に処理が終了しなかったSQL文とINDEXを使用しなかったSQL文が保存されます。
トランザクションログ
MySQLに対する全てのデータベースの更新情報が保存されます。
サーバのパフォーマンスが約1%程度低下することがあります。
実行ログを見れるようにする
mysqlのエラーを吐き出すディレクトリを作成する。
$ sudo vi /etc/my.cnf
次に、このファイルの中身を編集します。
[mysqld]
socket = /tmp/mysql.sock
[mysqld_safe]
log-error=/var/log/mysqld.log
~
~
~
~
(編集後 :wq で退出)
mysqlの起動にはこのsocketファイルが必要なので、そのパスの記述。 また、エラーログをパスも同時に設定します。
$sudo touch /var/log/mysqld.log
次に上記を実施することで、実際のエラーログが記述されるファイルを作成できます。
ただ、これだけだとこのファイルやディレクトリを閲覧する怪訝が付与されていません。
$sudo chown ユーザー名:wheel /var/log/mysqld.log
これを行うことで、権限の付与を行うことができます。
ここまで出来たらmysqlを起動してみる。
$mysql.server start
起動に失敗していたら、、
$sudo cat /var/log/mysqld.log
このコマンドでmysqld.logを開き、エラーを確認する。