mysql报错,登录或者用工具连接数据库报错,提示信息:1045 - Access denied for user 'root'@'::1' (using password: YES)。最详细的解答

mysql连接工具连接报错,原因可能是root远程访问权限问题

mysql报错,登录或者用工具连接数据库报错,提示信息:1045 - Access denied for user 'root'@'::1' (using password: YES)。最详细的解答_第1张图片

1. 首先第一步dos 命令登录root 账号:

mysql -u root -p

2.接下来输入密码:

xxxx

如果显示 下图表示正常登录,

mysql报错,登录或者用工具连接数据库报错,提示信息:1045 - Access denied for user 'root'@'::1' (using password: YES)。最详细的解答_第2张图片

3.如果登录失败,找到安装文件,找到配置文件my.ini  ,然后将其打开,可以选择用记事本打开,

在mysqld下面添加skip-grant-tables,保存退出

mysql报错,登录或者用工具连接数据库报错,提示信息:1045 - Access denied for user 'root'@'::1' (using password: YES)。最详细的解答_第3张图片

这里是免密码的,重复上面操作,不输入密码直接回车,先更改密码:

use mysql
update user set password=password("123456") where user="root";

刷新数据库mysql> flush privileges;Query OK, 0 rows affected (0.01 sec)

退出mysql:mysql> quitBye

改好之后,再修改一下my.ini这个文件,把我们刚才加入的"skip-grant-tables"这行删除,保存退出再重启mysql服务,

如果上次登录正常就不需要修改密码,然后重新登录,登录完成执行下面操作

 

4.进入之后查看权限,执行下面命令:

use mysql;
select host,user from user;

结果如下

mysql报错,登录或者用工具连接数据库报错,提示信息:1045 - Access denied for user 'root'@'::1' (using password: YES)。最详细的解答_第4张图片

从结果可以看出,root账号是没有远程访问权限的,需要给root账号赋予远程访问权限即可.

5. 为root账号赋予远程访问权限

RANT ALL PRIVILEGES ON *.* TO root@"%" IDENTIFIED BY "123456";

格式:grant 权限 on 数据库名.表名 to 用户@登录主机 identified by "用户密码";

6.用连接工具进行访问,连接ok

你可能感兴趣的:(mysql)