navicat连接MySQL数据时遇到1045错误,一般是因为输入的用户名或者密码错误被拒绝访问,此时可以重置MySQL数据库的密码解决。
在windows的操作步骤如下:
1、找到mysql的my.ini文件,在mysqld关键字下面添加skip-grant-tables,如下图所示:
该命令作用是跳过授权表,也就是输入任意字符账号密码都可以进入mysql看到所有数据表。
当忘记账号密码时可以使用改命令修改密码,但是要随用随关,重启mysql,不然服务器上会有很大的风险。
2、重启MySQL服务
3、在命令提示符(cmd)中输入mysql -u root mysql
4、修改密码
在命令提示符(cmd)中输入:
? ? ?update user set password=password("root123") where user="root";
? ? ?如果有报错“ERROR 1054 (42S22): Unknown column 'password' in 'field list'”
? ? ?那么就输入:update user set authentication_string=password('root22') where user='root';
? ? ?输入exit退出,再重新连接数据,即可连接成功。
注意:
1、要是找不到my.ini文件位置,可打开服务管理器中找到MySQL服务,右键属性,在“可执行文件的路径”中看到my.ini的位置。如果安装时是默认的安装路径,那么一般是在"C:\ProgramData\MySQL\MySQL Server 5.7"文件夹中,这里需要注意的是,有可能"ProgramData"文件夹会被隐藏。
2、要把mysql的安装路径下的bin目录配置到环境变量中,否则会提示"命令行输入mysql -u -root -mysql显示不是内部或外部命令也不是可运行的程序"。