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地址进行授权。
远程连接ECS实例。
具体操作,请参见连接方式概述。
登录数据库,然后执行如下授权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地址登录。执行如下SQL语句刷新权限。
flush privileges;
重新远程连接MySQL数据库,若不再提示以上报错信息,则表示问题已修复。