沃梦达 / 编程技术 / 数据库 / 正文

mysql远程登录root账户报错1045的解决

这篇文章主要介绍了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显示不是内部或外部命令也不是可运行的程序"。

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持编程学习网。

本文标题为:mysql远程登录root账户报错1045的解决

基础教程推荐