私は開発環境をセットアップしています。mysqldでエラーを発生させる方法
MySQLのログが期待どおりに機能するかどうか確認したいと思います。
どうすればPHPからプログラムで実行できますか?
<?php
$pdo = new \PDO(
'mysql:host=localhost;',
'root',
''
);
$result = $pdo->query("signal sqlstate '45000' set message_text = 'Triggering error on purpose (test)';");
?>
しかし、これはエラー・ログにエラーをトリガしません:
Inspired by this answerは、私は単にこのような最小限のテストを実行しました。 /var/log/mysql/
(error.log
)のエラーがあります。
私はMac OS X上でDockerの中でUbuntu 16.04を実行しています。
これはプログラミングとsysadminの間のクロスロードでの質問です。もっと関連性があると思われる場合はAskUbuntuに移行してください。
mysqldsログファイルに何か書き込まれることを期待していますか?これにより、クライアントが処理するエラーが発生します。 – Mikpa
@Mikpaわかりやすさのために質問を編集しました。私は '/ var/log/mysql /'( 'error.log'内)のエラーを期待していました。上記のコードがログのエラーを引き起こしているということですか? –
信号sqlstate 45000が呼び出し側プログラムにエラーを出しますが、通常はerror.logに渡されません。 Read this http://www.mysqltutorial.org/mysql-signal-resignal/ – Mikpa