权限不足导致数据库实例连接失败怎么办
- 报错信息:您的权限不足。策略不允许执行das:connections:xxx 。
报错原因:您的帐号没有添加DAS FullAccess权限。
- 报错信息:您没有执行此操作的权限,请联系您的管理员为您开通权限。
报错原因:您的帐号没有添加DAS FullAccess权限。
- 报错信息:您当前登录的帐号仅具有只读权限,不能执行此操作。为确保您顺利使用DAS,请添加DAS Administrator权限。
报错原因:您的帐号没有添加DAS FullAccess权限。
RDS for MySQL实例连接失败怎么办
- 报错信息:Access denied for user 'user_name'@'100.xxx.xx.xx' (using password: YES)。
a. 报错原因:RDS实例用户名或密码不对。
解决方法:请确认数据库用户名和密码是否正确,如果您不确认密码是否正确,可以在RDS控制台重置实例密码。
须知
修改密码可能会影响业务,请谨慎操作。
如果确认帐户名和密码正确,可以通过客户端或命令行工具登录数据库,执行select * from mysql.user where user = 'user_name'命令查看用户信息,如果存在100.%网段的用户,则DAS只能通过100.%网段的数据库用户去连接数据库。user_name @%与user_name @100.%是两个用户,其密码和权限都是独立的,请确认输入的密码是否是user_name @100.%用户的密码。
b. 报错原因:DAS服务器的IP地址不在您输入用户的白名单中。
解决方法:使用客户端或命令行工具登录到数据库,创建DAS可以访问的数据库用户。
create user 'user_name'@'100.%' identified by 'password';
grant select on . to 'user_name'@'100.%';
说明
lDAS服务器IP地址所在网段为100.%,请根据实际使用需要添加白名单。
l请根据实际使用需要给user_name@100.%用户赋予权限。
c. 报错原因:使用SSL用户登录,服务端没有开启SSL功能。
解决方法:请执行如下语句查询用户是否是SSL用户,如果是,则在RDS实例详情页面,将SSL开关打开。其中,ssl_type字段有值即表示此用户是SSL用户。
select user, host, ssl_type from mysql.user where user = 'user_name';
- 报错信息:Trying to connect with ssl, but ssl not enabled in the server
报错原因:使用SSL用户登录,服务端没有开启SSL功能。
解决方法:请执行如下语句查询用户是否是SSL用户,如果是,则在RDS实例详情页面,将SSL开关打开。其中,ssl_type字段有值即表示此用户是SSL用户。
select user, host, ssl_type from mysql.user where user = 'user_name';
- 报错信息:Client does not support authentication protocol requested by server. plugin type was = 'sha256_password'
报错原因:DAS暂不支持密码的加密方式为sha256_password的数据库用户连接登录。
解决方法:请执行如下语句将密码的加密方式改为mysql_native_password。
alter user 'user_name'@'%' identified with mysql_native_password by 'password';
- 报错信息:Communications link failure The last packet sent successfully to the server was 0 milliseconds ago. The driver has not received any packets from the server
报错原因:DAS服务器与实例网络不通。
解决方法:请联系技术支持协助处理。
- 报错信息:Instance connect timeout, please login again.
报错原因:DAS服务器连接超时。
解决方法:请联系技术支持协助处理。
ECS自建库(MySQL)连接失败怎么办
- 报错信息:“Access denied for user 'user_name'@'100.xxx.xx.xx' (using password: YES)”。
a. 报错原因:ECS自建库用户名或密码不对。
解决方法:请确认数据库用户名和密码是否正确。如果确认帐户名和密码正确,可以通过客户端或命令行工具登录数据库,执行select * from mysql.user where user = 'user_name'命令查看用户信息,如果存在100.%网段的用户,则DAS只能通过100.%网段的数据库用户去连接数据库。user_name @%与user_name @100.%是两个用户,其密码和权限都是独立的,请确认输入的密码是否是user_name @100.%用户的密码。
b. 报错原因:DAS服务器的IP地址不在您输入用户的白名单中。
解决方法:使用客户端或命令行工具登录到数据库,创建DAS可以访问的数据库用户。
create user 'user_name'@'100.%' identified by 'password';
grant all privileges on . to 'user_name'@'100.%';
说明
lDAS服务器IP地址所在网段为100.%,请根据实际使用需要添加白名单。
l请根据实际使用需要给user_name@100.%用户赋予权限。
c. 报错原因:使用SSL用户登录,服务端没有开启SSL功能。
解决方法:请执行如下语句查询用户是否是SSL用户,如果是,则在RDS实例详情页面,将SSL开关打开。其中,ssl_type字段有值即表示此用户是SSL用户。
select user, host, ssl_type from mysql.user where user = 'user_name';
- 报错信息:Host 'xxx.xxx.xx.xx' is not allowed to connect to this MySQL server。
报错原因:您输入的数据库用户不允许远程登录MySQL(如root用户,mysql.user表中只设置了root@localhost用户,指定用户只能本地登录)。
解决方法:使用客户端工具或命令行登录MySQL,创建可以远程登录的用户。
create user 'user_name'@'100.%' identified by 'password';
grant all privileges on . to 'user_name'@'100.%';
说明
lDAS服务器IP地址所在网段为100.%,请根据实际使用需要添加白名单。
l请根据实际使用需要给user_name@100.%用户赋予权限。
- 报错信息:Communications link failure The last packet sent successfully to the server was 0 milliseconds ago. The driver has not received any packets from the server。
a. 报错原因:ECS设置的安全组规则不支持此端口被访问
解决方法:请参考3.2.12 如何查看并放通ECS实例安全组规则。
b. 报错原因:ECS虚拟机设置的防火墙策略不允许此端口被访问。
解决方法:请参考3.2.13 如何查看并放通防火墙。
c. 报错原因:远程访问MySQL数据库,服务端侧进行的DNS解析动作,耗时太长导致连接实例超时。
解决方法:请按照以下操作进行修复。
i. 在/etc/my.cnf路径下查找MySQL数据库的配置文件,在“[mysqld]”下,输入如下内容,并保存退出。
skip-name-resolve
说明
lMySQL数据库的配置文件,默认位置为“/etc/my.cnf”,若您将配置文件指定位置存放时,需对应调整。
ii. 重启数据库服务"systemctl restart mysqld",尝试再次连接。
- 报错信息:Communications link failure The last packet sent successfully to the server was 0 milliseconds ago. The driver has not received any packets from the server
报错原因:DAS服务器与实例网络不通。
解决方法:请检查实例的防火墙配置是否正常、是否开放对应端口,如防火墙配置异常或未开放对应端口请修复后再次尝试连接实例。修复后还无法解决,请联系技术支持协助处理
- 报错信息:Instance connect timeout, please login again.
报错原因:DAS服务器连接超时。
解决方案:请按照以下方法进行检查并尝试修复。
a. 请远程登录ECS虚拟机,执行“iptables -S | grep input”命令检查实例的防火墙配置是否正常。如果自建库端口号没在开放的白名单中,您可以新增一条iptables规则或通过“systemctl stop iptables”命令关闭防火墙,保证端口能被访问后再次尝试连接实例。
b. 请远程登录ECS虚拟机,执行“ps -ef | grep mysql”命令检查数据库进程是否正常,mysqld_safe进程与mysqld进程均存在则为正常。如进程不存在请执行“systemctl start mysqld”命令重启数据库后再次尝试连接实例。
c. 如上述方法均无法解决,请联系技术支持协助处理。
RDS for SQL Server实例连接失败怎么办
报错信息:Login failed for user 'rdsuser'. ClientConnectionId:xxx。
报错原因:RDS实例用户名或密码不对。
解决方法:请确认数据库用户名和密码是否正确。如果不确认密码是否正确,可以到RDS控制台重置实例密码。
须知
修改密码可能会影响业务,请谨慎操作。
ECS自建库(Microsoft SQL Server)连接失败怎么办
报错信息:The TCP/IP connection to the host 100.xxx.xx.xx, port xxx has failed。
报错原因:ECS自建库输入的端口号不正确,或者网络不通。
解决方法:请确认输入的自建库端口号是否正确,并且放通了安全组规则和防火墙白名单。请参考3.2.12 如何查看并放通ECS实例安全组规则和3.2.13 如何查看并放通防火墙。
RDS for PostgreSQL实例连接失败怎么办
报错信息:FATAL: Invalid username/password,login denied。
报错原因:RDS实例用户名或密码不对。
解决方法:请确认数据库用户名或密码是否正确。如果不确认密码是否正确,可以到RDS控制台重置实例密码。
须知
修改密码可能会影响业务,请谨慎操作。
ECS自建库(PostgreSQL)连接失败怎么办
报错信息:Connection refused (Connection refused)。
报错原因:ECS自建库输入的端口号不正确,或者网络不通。
解决方法:请确认输入的自建库端口号是否正确,并且放通了安全组规则和防火墙白名单。
DDS实例连接失败怎么办
报错信息:Command failed with error 18 (AuthenticationFailed): 'Authentication failed.' on server xxx.xxx.xx.xx:xxxx. The full response is { 'ok' : 0.0, 'errmsg' : "Authentication failed.", "code" : 18, "codeName" : "AuthenticationFailed" }
- 报错原因:云服务平台文档数据库用户名或密码不对。
解决方法:请确认用户名和密码是否正确。如果不确认密码是否正确,可以到云服务平台文档数据库控制台重置密码。
须知
修改密码可能会影响业务,请谨慎操作。
- 报错原因:输入的用户没有数据库的权限。
解决方法:请确认此用户是否有此数据库的权限。如果不确认,可以先使用rwuser用户,连接admin数据库,登录DAS后,在“帐号管理”里确认权限是否设置正确。
DRDS实例连接失败怎么办
报错信息:User has no databases
报错原因:DRDS帐号没有关联逻辑库。
解决方法:在DRDS控制台实例详情页面,单击左侧导航栏的帐号管理,将此DRDS帐号与逻辑库相关联。
如何查看并放通ECS实例安全组规则
1、在ECS实例详情页面,单击“安全组”页签,查看安全组规则。需要添加实例端口号(示例为3306)到100.0.0.0/8的规则,DAS才能访问ECS自建库。
2、单击页面左侧的“配置规则”,进入安全组信息页面。单击“入方向规则”页签,单击“添加规则”。
说明
推荐配置:“协议端口”选择“TCP”,端口与ECS自建库保持一致,源IP地址设置为100.0.0.0/8或全部放通0.0.0.0/0。
3、在“出方向规则”页签,单击“添加规则”。
添加出方向规则
说明
推荐配置:“协议端口”选择“TCP”,端口与ECS自建库保持一致,源IP地址设置为100.0.0.0/8或全部放通0.0.0.0/0。
如何查看并放通防火墙
1、选择目标ECS虚拟机,单击“远程登录”。
2、输入帐户名和密码,登录成功后,输入如下命令查看iptables配置。
iptables -S
说明
“--dport”后面的数字为可以被访问的端口。
保证端口能够被访问的方法:
通过增加iptables规则,如增加一条允许访问数据库端口的规则。
通过如下命令关闭防火墙:systemctl stop iptables