ERROR 1045 (28000): Access denied for user 'ODBC'@'localhost' (using password: NO)

这个问题,是由于未输入用户名密码,或密码错误导致的。如果未输入密码,执行“mysql -u root -p 密码” 进入。

修改密码方法如下:

1:进入cmd,停止mysql服务:Net stop mysql
    到mysql的安装路径启动mysql,在bin目录下使用mysqld-nt.exe启动,
2:执行:mysqld -nt --skip-grant-tables(窗口会一直停止)
3:然后另外打开一个命入令行窗口,执行mysql(或者直接进入Mysql Command Line Cilent),此时无需输入密码即可进入。
  >use mysql
  >update user set password=password("123") where user="root";
  >flush privileges;
    >mysql restart
    >quit
4: 在任务管理器,结束 mysqld.exe进程
5: 重新执行 mysql -u root -p 按提示输入密码。

6: 这个时候,可以进入,但执行任何命令都会提示:ERROR 1820 (HY000): You must reset your password using ALTER USER statement before executing this statement.

解决方案:进入后运行 > SET PASSWORD = PASSWORD("123");


注: update user 可能报错,找不到password列,则需要执行 update mysql.user set authentication_string=password('admin') where user='root';

原文地址:https://www.cnblogs.com/xueranzp/p/5009206.html