mysql远程登录root账户报错1045的解决
作者:OctopusMonster
这篇文章主要介绍了mysql远程登录root账户报错1045的解决方案,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
mysql远程登录root账户报错1045
默认情况下mysql不允许远程登录到root用户,远程登录报错1045容易造成密码错误的错觉。
要实现的话需要另外授权。
本地登录到mysql的root用户,再输入如下命令即可(中间的*号为密码):
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '******' WITH GRANT OPTION; FLUSH PRIVILEGES;
错误提示:1045-Access denied for user‘root‘ ‘localhost‘(using password: YES)
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显示不是内部或外部命令也不是可运行的程序"。
总结
以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。