MySQL登录失败:一段沮丧的旅程(mysql登不上)
太多的用户都曾经遇到这样的情况,尝试着登录MySQL,然而却完全登录失败。登录失败这件事情都是一场灾难,尤其当把它与业务应用或网站结合在一起时尤其沮丧。
我也曾在MySQL登录失败的游刃有余中烦恼过,一直按照我记忆中的密码组合,却仍然没有任何结果。后来,我发现了一种有效的解决方案——试用一行代码,使用root账号更改新的密码:
mysqladmin -u root password newpassword
之所以说这种方式有效,是因为使用root账号可以重置MySQL的root用户的密码,确保在正确的情况下正确地登录到MySQL服务器—— 这种方式对于那些未能正确登录MySQL的用户而言着实是个救命稻草。
但是,使用root账号重置密码并不总是在每一种情况下都有效。如果你正在使用远程MySQL数据库,或者受到root本身的访问设置限制,使用root连接服务器将会非常困难,甚至不可能完成。在这种情况下,如果尝试使用 root账号连接MySQL服务器,报错消息就会出现,例如:
‘ ERROR 1045 (28000):Access denied for user ‘ root’@’xx.xx.xx.xx’
当我也遇到这种情况的时候,我发现了另一种方法,我决定关闭MySQL服务,然后使用编辑文件的方式更改MySQL的授权配置文件。
通过修改MySQL服务器配置文件my.cnf,我可以让MySQL在启动时跳过权限认证,这样一来,我就可以使用新的密码进行登录。步骤如下:
1. 使用管理员权限关闭MySQL服务:service mysql stop
2. 使用文本编辑器打开配置文件my.cnf,将以下这行以#号开头:
skip-grant-tables
3. 重新启动MySQL服务:service mysql start
4. 这时可以使用root账号登录MySQL,进入后台,使用下面的命令更改新的密码:
mysql>update mysql.user set authentication_string=‘新密码’ where user=’root’;
5. 保存更改并重启MySQL服务,然后这段沮丧的旅程就结束了:service mysql restart
总之,有这件事情来显示,尽管遇到MySQL登录失败,仍然有有效的方法可以解决这一问题,把它变成一段有趣的旅程,而不是一段沮丧的旅程。如果你遇到MySQL登录失败的情况,推荐你使用这种方法,你一定会得到惊喜的结果。