mysql忘记密码怎么办?有没有什么办法修改密码?答案当然是有的,解决这个问题主要分为三步:关闭权限验证,修改密码,启用权限并重启MySQL。
如果还没有安装MySQL的可以去看看我之前的MySQL安装教程
第一步:关闭权限验证
首先找到MySQL配置文件( my.cnf ),一般这个文件路径为/etc/my.cnf。在文件的 [mysqld] 下面添加 skip-grant-tables ,保存退出重启MySQL( service mysqld stop )
此时我们在使用账号登录就不需要密码了。
第二部:修改账号密码
- 进入数据库
mysql -uroot
- 修改密码
update mysql.user set authentication_string=password('新的密码') where User='待修改的账号'
注意:mysql是数据库名,user是表名,password()是MySQL的函数,这个函数主要用于设置密码类
- 刷新权限,使修改的密码生效
flush privileges;
好了到此数据库的账号密码已经修改完成,不过我们还需要把权限验证的功能开启,不然每个人都可以访问数据就很危险了。
第三步:开启权限验证并重启MySQL使其生效
只需要将MySQL的配置文件中的 skip-grant-tables 注释或者删除保存文件并重启MySQL即可,重启命令如下:
service mysqld restart
有时候由于历史问题,有些账号的密码不能修改,毕竟有其他程序还在使用。因此我们需要重新创建账号,再用新账号登录。创建账号命令如下:
# 创建MySQL复制用户(如果有同步的用户可以忽略这一步)
create user '用户名'@'允许登陆的ip地址' identified by 'MySQL登陆密码';
#刷新权限
flush privileges;
有遗漏或者不对的可以在我的公众号留言哦
