有没有一种安全的方法来设置mysql root密码?

时间:2010-01-16 12:25:34

标签: mysql security

this how-to geek article中,作者谈到了使用

mysqladmin -u root -h host_name password “newpassword”

设置新密码。有人回复说,这可能会将密码留在shell的历史文件中,并建议使用

mysql -u root mysql
mysql> SET PASSWORD FOR root@localhost=PASSWORD(’newpasswordgoeshere’);

但是另一个人说它将密码留在.mysql_history文件中。

安全对我来说不是问题(没有其他人可以访问我的电脑),但有更好的选择吗?

4 个答案:

答案 0 :(得分:7)

As of MySQL 5.5.3,最简单的方法是mysqladmin

$ mysqladmin -p -u root password
Enter password:                     # ← current root password
New password:                       # ← new root password
Confirm new password:               # ← again

答案 1 :(得分:2)

您可以通过设置

关闭MySQL历史记录
export MYSQL_HISTFILE=/dev/null
在启动mysql之前在shell中

MySQL environment vars参考。

根据维基百科,/dev/null的等效窗口为\Device\NullNUL

答案 2 :(得分:0)

为什么不直接使用其中一个选项并删除相关的历史文件。

答案 3 :(得分:0)

$ mysqladmin -p -u root password似乎是最好的方式。