一些答案提到将密码放入配置文件中。另外,您也可以从脚本中进行操作export MYSQL_PWD=yourverysecretpassword。与使用配置文件相比,此方法的好处在于,不需要单独的配置文件即可与脚本保持同步。您只有要维护的脚本。有没有缺点给此方法。该密码对系统上的其他用户不可见(如果在命令行上,则将可见)。环境变量仅对运行mysql命令的用户和root用户可见。任何可以读取脚本本身的人都可以看到该密码,因此请确保脚本本身受到保护。这与保护配置文件没有什么不同。如果要使脚本公开可读(export MYSQL_PWD=$(cat /root/mysql_password)例如),仍然可以从单独的文件中获取密码。导出变量比构建配置文件要容易得多。例如,$ export MYSQL_PWD=$(>&2 read -s -p "Input password (will not echo): "; echo "$REPLY")$ mysqldump -u root mysql | head-- MySQL dump 10.13 Distrib 5.6.23, for Linux (x86_64)---- Host: localhost Database: mysql-- -------------------------------------------------------- Server version 5.6.23/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;/*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */;/*!40101 SET NAMES utf8 */;$ mysqldump -u root mysql | head-- MySQL dump 10.13 Distrib 5.6.23, for Linux (x86_64)---- Host: localhost Database: mysql-- -------------------------------------------------------- Server version 5.6.23/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;/*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */;/*!40101 SET NAMES utf8 */;