默认情况下mysql不允许远程登录到root用户,远程登录报错1045容易造成密码错误的错觉。
要实现的话需要另外授权。
本地登录到mysql的root用户,再输入如下命令即可(中间的*号为密码):
FLUSH PRIVILEGES;
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显示不是内部或外部命令也不是可运行的程序”。
以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。