Mysql忘记密码:关于ERROR 1045 (28000): Access denied for user 'ODBC'@'localhost' (using password: NO)的问题

时间:2021-08-21 18:25:52

  命令行登录mysql时,出现ERROR 1045 (28000): Access denied for user 'ODBC'@'localhost' (using password: NO)的提示。查了不少教程,通过折腾找到下述解决方案:

  解决方法:

    1. 停掉mysql服务

    2. 找到mysql安装目录下的my.ini,找到里面的[mysqld] 然后在下面加上skip_grant_tables(启动MySQL服务的时候跳过权限表认证)

    3. cmd -> net start mysql -> mysql回车  成功登录后出现mysql提示符

    4. 输入use mysql (mysql的密码存在于mysql表中,因此打开该表)

    5. 修改密码:update user set authentication_string = password("新设置的密码") where user="root";(我这里mysql的版本是5.7,其中密码列的属性叫做authentication_string;5.1的是password);如果不清楚属性可以用phpmyadmin等插件进入查看

    6. 刷新权限:flush privileges;

    7. 退出:quit;

    8. 将my.ini中的skip_grant_tables去掉,恢复登录时候的权限表认证

    9. 重启mysql服务,再使用root和修改的密码登录即可:mysql -u root -p 新设置的密码