文档

ECS实例中的MySQL安装后登录正常,但远程连接MySQL数据库时失败,提示“1045 - Access denied for user 'root'@'****'(using password:YES)”错误怎么办?

更新时间:

本文介绍ECS实例中的MySQL安装后登录正常,但远程连接MySQL数据库时失败,提示“1045 - Access denied for user 'root'@'****'(using password:YES)”错误的解决方案。

问题现象

ECS实例中的MySQL安装后登录正常,但使用相同账号和密码远程连接MySQL数据库时失败,提示“1045 - Access denied for user 'root'@'****'(using password:YES)”错误(确认已输入正确账号和密码)。

问题原因

在ECS实例中安装MySQL后,默认只能在本机登录,MySQL数据库未授权其他远程IP地址登录。

解决方案

请参考以下操作对其它IP地址进行授权。

  1. 远程连接ECS实例。

    具体操作,请参见连接方式概述

  2. 登录数据库,然后执行如下授权SQL命令,授权远程登录MySQL数据库权限。

    GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' WITH GRANT OPTION;
    说明

    执行该授权SQL命令后,root用户可用任何IP地址登录数据库,操作任何数据库中的任何对象。

    SQL命令参数说明如下表:

    参数

    描述

    *.*

    第一个星号(*)为数据库占位符,如果填*则代表所有数据库。第二个星号(*)为数据库表占位符,如果填*则代表数据库中所有表。

    'root'@'%'

    root为授权登录的数据库账户,百分号(%)为IP地址占位符。假如要限制只能通过1.1.1.1的IP地址登录,则需要把%改成1.1.1.1。如果填%则代表允许任何IP地址登录。

  3. 执行如下SQL语句刷新权限。

    flush privileges;
  4. 重新远程连接MySQL数据库,若不再提示以上报错信息,则表示问题已修复。

  • 本页导读 (1)
文档反馈