適切に保護された PHP Web ベースのツールを使用しmysqlcheck
て一般的なデータベース テーブルの状態を確認したいのですが、パスワードがプロセス リストに表示されるのは望ましくありません。私はこのようなものを実行したいと思います:
$output = shell_exec('mysqlcheck -Ac -uroot -pxxxxx -hhostname');
// strip lines that's OK
echo '<pre>'.preg_replace('/^.+\\sOK$\\n?/m', '', $output).'</pre>';
残念ながら、 ではshell_exec()
、コマンド ラインにパスワードを含める必要がありますが、パスワードがプロセス リスト ( ps -A | grep mysqlcheck
) に表示されることが懸念されます。
テストマシンでmariadb 5.5を使用すると、mysqlcheckはプロセスリストにパスワードを表示しませんが、本番マシンはmariadbを実行しておらず、別のOSを実行しているため、安全側にいてこれらを実行したくありません生産側でのテスト。
mysql のすべてのバージョンでも、プロセス リストにパスワードが表示されませんか? 私の懸念は問題ではありませんか?