命令行登录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 新设置的密码