mysql登录失败

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

ERROR 1045 (28000): Access denied for user ‘ODBC’@‘localhost’ (using
password: YES)

windows下,以上两个错误的解决方法

1、找到配置文件my.ini ,然后将其打开,可以选择用记事本打开
2、打开后,搜索mysqld关键字找到后,在mysqld下面添加skip-grant-tables,保存退出。

PS:若提示不让保存时,可以将该文件剪切到桌面,更改保存后再复制到mySQL目录下
mysql登录失败

3、开始按钮+R,打开运行对话框,输入“services.msc”,打开服务窗口
4、重启MySQL服务
5、然后运行cmd,输入mysql -u root -p就可以不用密码登录了,出现password:的时候直接回车可以进入。
6、进入mysql数据库:
mysql> use mysql;
提示:Database changed
7、给root用户设置新密码:mysql>update mysql.user set authentication_string=password(‘123qwe’) where user=‘root’ and Host =‘localhost’;
提示:Query OK, 1 rows affected (0.04 sec)Rows matched: 1 Changed: 1 Warnings: 0
8、.刷新数据库mysql> flush privileges;
提示:Query OK, 0 rows affected (0.01 sec)

9、退出mysql:mysql> exit
提示:Bye
10、改好之后,再修改一下my.ini这个文件,把我们刚才加入的"skip-grant-tables"这行删除,保存退出再重启mysql服务就可以了。

打开Navicat进行数据库连接,输入密码后报错,提示”1862 your password has expired”.意思密码过期了

网上的解决方法有很多,选取了一个较为简单的方法,操作方法如下:

1.使用root权限登录mysql

1.// 用户名为root,密码为root
2.mysql -uroot -proot

2.更改密码

SET PASSWORD = PASSWORD(‘root’);

执行后,提示Query OK.
再次使用Navicat登录,可以正常登录。