连接MySQL数据库时难免会遇到1045错误,主要是因为⽤户输⼊的⽤户名或密码错误被拒绝访问,如果不想重装,需要找回密码或者重置密码。
Navicat for MySQL 1045错误
问题描述:
1045-Access denied for user 'root'@'localhost'(using password: YES)
解决办法是重新设置root⽤户密码,在Windows平台下操作步骤如下:
⽅法⼀:
1、以系统管理员⾝份登录到系统;2、如果MySQL服务器正在运⾏,停⽌它。
如果是作为Windows服务运⾏的服务器,进⼊服务管理器:开始菜单->控制⾯板->管理⼯具->服务;如果服务器不是作为服务⽽运⾏,可能需要使⽤任务管理器来强制停⽌它。
3、创建1个⽂本⽂件,并将下述命令置于单⼀⾏中:
SET PASSWORD FOR 'root'@'localhost' = PASSWORD('MyNewPassword');⽤任意名称保存该⽂件。在本例中,该⽂件为C:\\mysql-init.txt。4、进⼊DOS命令提⽰:开始菜单->运⾏-> cmd
假定你已将MySQL安装到C:\\mysql。如果你将MySQL安装到了另⼀位置,请对下述命令进⾏相应的调整。在DOS命令提⽰符下,执⾏命令:
C:> C:\\mysql\\bin\\mysqld-nt --init-file=C:\\mysql-init.txt
在服务器启动时,执⾏由“--init-file”选项,在启动时从指定的⽂件中读取SQL命令命名的⽂件的内容,更改根⽤户密码。当服务器成功启动后,应删除C:\\mysql-init.txt。
5、停⽌MySQL服务器,然后在正常模式下重启它。
如果以服务⽅式运⾏服务器,应从Windows服务窗⼝启动它;如果以⼿动⽅式启动了服务器,能够像正常情形下⼀样使⽤命令。
⽅法⼆:
# /etc/init.d/mysql stop
# mysqld_safe --user=mysql --skip-grant-tables --skip-networking mysql -u root mysql
mysql> UPDATE user SET Password=PASSWORD(’newpassword’) whereUSER=’root’;
mysql> FLUSH PRIVILEGES;mysql> quit
# /etc/init.d/mysql restart# mysql -uroot -p
Enter password: <输⼊新设的密码newpassword>mysql>
直接使⽤/etc/mysql/debian.cnf⽂件中[client]节提供的⽤户名和密码:# mysql -udebian-sys-maint -p
Enter password: <输⼊[client]节的密码>
mysql> UPDATE user SET Password=PASSWORD(’newpassword’) whereUSER=’root’;
mysql> FLUSH PRIVILEGES;mysql> quit# mysql -uroot -p
Enter password: <输⼊新设的密码newpassword>mysql>
1、管理员登陆系统,停⽌mysql服务或者结束mysqld-nt进程
2、进⼊命令⾏,来到mysql的安装⽬录.假设安装⽬录为 d:\\mysql\\,CMD进⼊命令⾏3、运⾏ d:\\mysql\\bin\\mysqld-nt --skip-grant-tables 启动mysql,关闭权限的检查
4、运⾏ d:\\mysql\\bin\\mysqladmin -u root flush-privileges password \"newpassword\" 重设root密码5、重新启动mysql服务
如果你想寻找适合Linux系统的解决⽅法,可以点击:。
因篇幅问题不能全部显示,请点此查看更多更全内容
Copyright © 2019- stra.cn 版权所有 赣ICP备2024042791号-4
违法及侵权请联系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com
本站由北京市万商天勤律师事务所王兴未律师提供法律服务