ERROR 1045(28000):用户’root’@’localhost’拒绝访问(使用密码:YES)
我知道有些用户可能会说这是一个重复,但严重的是我已经梳理了答案和互联网上超过半天的答案,我很沮丧,我会爆炸。
现在已经完成了治疗性解释,我已经在Ubuntu 12.04 LTS上的Ubuntu存储库中安装了MySql Server和MariaDb 10,并在安装时输入root密码[当粉红色屏幕出现并提示输入root密码时]安装完成像刀通过黄油一样顺利。
现在,真正的挫败感始于以下两种情况:
- 当我输入sudo / usr / bin / mysql_secure_installation命令时,提示输入root密码
要么
2.当我输入mysql -u root -p命令并提示输入密码时。
请我真的需要帮助 – 我已经失去了我必须卸载并重新安装MySQL或MariaDb的次数,因为颈部疼痛是错误的。
检查文件: /etc/mysql/mariadb.conf.d/mysqld.cnf
validation此行是否存在:
plugin-load-add = auth_socket.so
然后去MariaDB :
sudo mysql -u root
并进行这些修改:
MariaDB [(none)]>use mysql; MariaDB [(none)]>update user set plugin=' ' where User='root'; MariaDB [(none)]>flush privileges; MariaDB [(none)]>exit
我没有访问mysqlworkbench
,但在我应用这个解决方案后,一切都很好…
我想我可能已经找到了问题 – 它与长密码有关。我认为这应该报告为MySQl和MariaDB开发人员的错误,因为在安装时你可以创建一个超过100个字符的密码但是当你尝试在生产中登录MySQl或MariaDB时会出现上述错误。
很高兴我在经历了这么多的痛苦之后想到了这一点 – 令人惊讶的是,考虑到MySQL已经生产了多少年,这还没有被认定为一个错误。
所以基本上一个决议是通过以下步骤来解决上述问题:
-
在非生产服务器上以空白密码开头,如果它有效
-
如果您在步骤1中成功,则通过键入以下命令继续保护您的mysql安装: sudo / usr / bin / mysql_secure_installation并尝试输入更复杂的密码 – 小写字母,数字,符号和大写字母的组合至少为8字符应该没问题。
-
我建议从8开始向上移动,直到达到天花板,然后输入你可以输入的字符数。
以上应该是确保MySQL服务器安全的正确方向。
在终端中尝试此命令:
mysqladmin -u root -pcurrentpassword password 'newpassword'
然后,键入:
mysql -u root -pnewpassword
最好的答案就在这里
它解释了发生了什么。 它解释了为什么你不应该只是禁用插件。 它解释了如何解决它(使用sudo登录,创建一个不是root的新超级用户帐户)。
请注意, david-leonardo的 此解决方案无法在重新启动后继续存在。