阿里云服务器忘记MySQL的密码后该如何重置密码
之前买的阿里云的服务器,好久没有使用导致忘记了密码,然后要修改数据库时发现登录不上去,然后找了很多博客才发现重置密码的方法
首先我用的是Xshell和xftp远程连接阿里云的服务器,先在命令行输入cd /etc,找到my.cnf文件,拉取到本地
使用Notepad++编辑,在[mysqld]下添加多一行skip-grant-tables
然后覆盖服务上的源文件,重启MySQL,输入密码时直接点解确认键进入MySQL,在命令行输入
use Mysql;
update user set password = password ('新密码') where user = 'root'
然后退出MySQL
修改本地的my.cnf文件,把刚刚添加的那一行去掉,然后在覆盖服务器上的源文件
重启服务器上的MySQL,试试你的账号密码输入
若是报出这种错误
Unknown column 'password' in 'field list'
是因为原来是mysql数据库下已经没有password这个字段了,password字段改成了
authentication_string
所以update语句要成 update user set authentication_string = password('新密码')
where user = 'root'
后面的步骤跟上边的差不多,重启检验就OK了
原理:
在my.cnf下添加那一行的意思是跳过登录时的权限表,所以,使得登录时并不需要密码就能登录了