mysql忘记密码后的补救操作
维护的数据库多了,总会遇到不清楚管理员密码的时候,这个时候需要临时绕过登陆修改密码或额外创建访问账户,收集了网上的一些资料可以方便操作。
以下第一步和第二步是两种跳过方式,任选其一。
1、修改my.ini完成绕过登陆
在my.ini的[mysqld]节点内添加,修改完成后,重启mysql服务即可生效
[mysqld]
skip-grant-tables
2、使用启动服务参数绕过身份检测。(需要先停止mysql服务,以下边的命令进行启动)
mysqld --console --skip-grant-tables --shared-memory
3、然后保存文件,重启mysql服务,就可以使用;如果默认端口号变更,使用 -P 端口号 进行登陆
mysql -uroot
mysql -uroot -P 13306
4、登陆完成后,这个时候我们修改密码或创建新的账户时会提示权限不足,需要先刷新操作权限
flush privileges;
5、然后进行密码修改,例如将用户 root 的密码修改为 newpassword,mysql8以上使用第二行命令进行操作。
update mysql.user set password=password('newpassword') where user='root';
update mysql.user set authentication_string=password('newpassword') where user='root';
修改完成后需要再次刷新操作权限,重复第4步骤
6、添加新的账户,将 库名 替换为要授权访问的库名称,.* 代表允许访问该库名下所有的表,’%’表示允许任意网络进行访问,如果只允许本机访问,可设置为’localhost’,grant select代表只允许查询,不允许修改。
grant select on 库名.* to newuser@'%' identified by 'password';
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 AJian的小站!