我想要一个受到适当保护的基于 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 并运行不同的操作系统,我想安全一点,不要运行这些生产方面的测试。
是不是所有版本的mysql也在进程列表中隐藏密码?我的担忧不是问题吗?