如何连接云数据库 MySQL 实例?
连接 MySQL 实例的方式如下:
内网连接:使用云服务器 CVM 直接连接云数据库的内网地址,这种连接方式使用内网高速网络,延迟低。
云服务器和数据库须是同一账号,且在同一个 VPC 内(保障同一个地域),或同在基础网络内。
外网连接:无法通过内网连接时,可通过外网地址连接云数据库 MySQL。外网地址需手动开启,可在 MySQL 控制台 的实例详情页查看,不需要时也可关闭。
连接云数据库 MySQL 失败,如何处理?
从 CVM、本地电脑连接 MySQL 失败
1. 通过检查工具诊断原因
1. 云数据库 MySQL 控制台为您提供了 一键连接检查工具,帮助您判断可能导致无法连接的原因,然后根据提示修改后再重新连接实例。
2. 自主诊断原因
3. 如果通过一键连接检查工具无法定位问题原因,您也可以 通过该文档介绍的失败原因,来主动识别定位失败原因。
从数据库管理 DMC 平台连接 MySQL 失败
1. 确认登录账号的主机限制中,已对该地域 DMC 服务器的全部 IP 授权,授权请参见 修改授权访问的主机地址。您也可以直接使用 %,放通所有 IP,仅由安全组来限制数据库访问来源。
2. 若确认已授权 IP,则可能是账号密码错误,请重新输入正确的密码,您也可以 重置密码 或 新建一个权限满足需求的临时账号 。
如何查看内外网地址?
如何开启外网地址?
外网连接较慢,怎么办?
我的云服务器 CVM 和云数据库 MySQL,能否直接使用内网连接?
1. 需要满足如下条件,才能使用内网连接:
云服务器和数据库须在同一个 VPC 内(保障同一个地域),或同在基础网络内。
2. 是否满足同一个 VPC 内或同在基础网络内,判断方法如下:
云服务器的网络可至 控制台 的实例列表或详情页查看。
云数据库 MySQL 的网络可至 控制台 的实例列表或详情页查看。
详情请参见 网络类型/VPC判断方法。
我的云服务器 CVM 和云数据库 MySQL,无法内网连接,怎么办?
我的云服务器 CVM 和云数据库 MySQL 在不同地域下(如 CVM 在广州,MySQL 在上海),可以直接内网访问吗?
我的云服务器 CVM 和云数据库 MySQL 在同一个地域下的不同可用区(如 CVM 在上海二区,MySQL 在上海一区),可以使用内网连接吗?
云服务器和云数据库 MySQL在同一个地域,不一定是同一个私有网络,也有可能是不同的私有网络。
若是同一私有网络的不同可用区,则可以使用内网互联。
若不是同一私有网络(如云服务器在 VPC1,云数据库在 VPC2),则无法直接内网互联,可通过 切换网络 将 MySQL 实例的网络切换为与 CVM 一致。
不同账号下的云服务器 CVM 和云数据库 MySQL ,可以直接内网连接吗?
使用 telnet 验证云数据库的网络端口连通正常后,在云服务器上通过命令行登录云数据库,出现相关报错,如何处理?
当出现 “ERROR 1045(28000):Access denied for user...” 的提示语时,请确认您输入的云数据库账号、密码是否正确,忘记密码请参见 重置密码,如果重复输入正确信息后仍然报该错误,请查看您的实例是否有对连接 IP 做限制,在 MySQL 控制台 实例管理页的数据库管理 > 账号管理。
当出现 “ERROR 1040(00000):Too many connections” 的提示语时,表明云数据库实例当前最大连接数超过了限制。常见原因及解决方案:
i. sleep 线程数很多,建议在控制台调低 wait_timeout 和 interactive_timeout 参数值。
ii. sleep 线程数很少,也没有慢查询堆积,建议在控制台调大 max_connections 参数值。
当出现 “ERROR 2003 (HY000): Can't connect to MySQL server...” 的提示语时,请确认您输入的云数据库的 IP、端口信息是否正确。如果重复输入正确信息后仍然报该错,可以查看该实例控制台的安全组策略,确认该 CVM 是否有连接该数据库的权限,请参见 云数据库安全组。
如果是在数据迁移时遇到连通性测试不通时,请查看是否对提示的迁移代理 IP 做了安全策略的开通。
用户设置了 init_connect 参数,例如:mysql>set global init_connect='insert into db_monitor.accesslog(thread_id,log_time,localname,matchname) values(connection_id(),now(),user(),current_user())';
这会触发每个非 super 权限用户的连接,在每次连接数据库都会向 db_monitor.accesslog 表里插入一条记录,一旦 db_monitor.accesslog 表上存在未提交的事务或相关的锁等待,那么 insert into db_monitor.accesslog 表的操作都会被卡住,进而导致非 super 权限用户的所有连接都会被卡住,影响到用户正常使用云数据库。请用户谨慎配置 init_connect 参数。