我想要从 shell 登录到 MySQL 数据库。
我通常使用
mysql -p
但我刚刚在 MySQL 帮助中注意到了以下内容:
-p, --password[=name]
Password to use when connecting to server. If password is
not given it's asked from the tty. WARNING: This is
insecure as the password is visible for anyone through
/proc for a short time.
这是在说下面不安全吗?
mysql -p=mypassword
或者说所有的用途-p
都是不安全的?
答案1
只有这一点是不安全的:
mysql -p=mypassword
因为这样当ps
用于查看命令行参数时,它就会可见。简而言之,始终使用选项-p
,当需要自动化时,请使用“选项文件”
參閱http://dev.mysql.com/doc/refman/5.0/en/password-security-user.html了解更多信息:
这很方便,但不安全,因为您的密码对系统状态程序(如 ps)可见,其他用户可能会调用这些程序来显示命令行。MySQL 客户端通常在其初始化序列期间用零覆盖命令行密码参数。但是,仍然有一个短暂的时间间隔,在此期间该值是可见的。此外,在某些系统上,这种覆盖策略无效,密码对 ps 仍然可见。(SystemV Unix 系统和其他系统可能存在此问题。)