启用对MySQL的无密码访问


15

如何删除MySQL的密码?我不想使用密码来连接数据库。我的服务器正在运行Ubuntu。


出于兴趣,您为什么不想要密码?
约翰·加迪尼尔

例如,当我运行“ dpkg-reconfigure phpmyadmin”时,我会遇到错误。它以错误1045停止,访问被拒绝root @ localhost“ password:no”结尾。
Lacek

Answers:


29

就个人而言,我认为最好设置一个密码并将其保存在/root/.my.cnf中:

第一:

mysqladmin -u root password 'asdfghjkl'

然后编辑根目录的.my.cnf文件:

[client]
password = asdfghjkl

确保chmod 0600 .my.cnf

现在,您有了密码,但是不再提示您输入密码。我的默认MySQL服务器安装是每个MySQL服务器完全随机的唯一密码,像这样保存在.my.cnf文件中。


1
我强烈同意将环境设置为自动对您进行身份验证或删除密码。
Zoredache

2
您可能需要在.my.cnf中的该密码周围加上引号。没有它对我不起作用。
user67641 2011年

1
@ user67641:可能取决于版本和密码。...我的都是字母数字的长随机字符串(无特殊字符),不需要引号。
自由报

2
如果您需要创建/root/.my.cnf,则值得对其明确设置0600权限,以确保没有其他用户可以监听。多数情况下,普通用户无法使用/ root,但是几乎总是需要额外的偏执狂。
戴尔·安德森

mv ./+%Y%m%dmysqldump和gzip之间缺少 。$ db.sql $ OUTPUT`
Siddharth

9

如果您确实为MySQL设置了密码,请按照“ 恢复MySQL根密码”中的说明进行操作,然后将密码设置为null:

对于5.7.6及更高版本

ALTER USER 'root'@'localhost' IDENTIFIED BY 'MyNewPass'

对于5.7.5及更早版本

update user set password=PASSWORD("") where User='root';

*需要重新启动数据库(请参阅链接上的说明)才能生效。

sudo service mysql restart

在这种情况下,请不要忘记“刷新权限”;
Marco Ramos

@meyosef-如果解决了您的问题,请标记为已回答(单击投票数下方的绿色对勾)。
jneves,2010年

我以为我可以只为Unix套接字使用空密码,而不能回送,但这是不可能的。该unix_socket插件的功能略有不同。
盆地

9

是的,减少密码可能是一件好事。但是,不要只是为所有人打开数据库。

通过unix_socket:

grant usage on *.* to 'root'@'localhost' identified via unix_socket;

这为本地登录的root用户提供了无密码的mysql acces。顺便说一句。这是最近的ubuntu / debian版本中的默认设置。

some_user@box: mysql -u root  # denied
root@box: mysql               # good
some_user@box: sudo mysql     # good, if "some_user" has sudo rights.

解释性幻灯片:https : //www.slideshare.net/ottokekalainen/less-passwords-more-security-unix-socket-authentication-and-other-mariadb-hardening-tips


2
欢迎来到顺丰!可爱的第一个答案:清晰,完整的摘要,进一步探索的链接,它为现有答案库增加了一些内容。我很高兴成为您的第一个支持者,希望您能留下更多这样的答案。
MadHatter

幻灯片没问题,但这是实际的文档:mariadb.com/kb/zh-CN/library/authentication-plugin-unix-socket
JonnyJD

5

您也可以这样做:

grant all privileges on *.* to 'root'@'localhost' identified by '';

1

我敢肯定,默认情况下,如果您是admin用户并在本地访问,则没有密码。您是否发现了与众不同的东西?

这样行吗?

#> mysqladmin -u root password ''
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.