检测到您已登录华为云国际站账号,为了您更好的体验,建议您访问国际站服务网站 https://www.huaweicloud.com/intl/zh-cn
不再显示此消息
内存使用超限风险与优化 GaussDB(for MySQL)内存说明 GaussDB(for MySQL)的内存大体可以分为GLOBAL级的共享内存和SESSION级的私有内存两部分: 共享内存是实例创建时根据参数值分配的内存空间,并且是所有连接共享的。 私有内存用于每个连接到GaussDB(for
创建ECS(MySQL服务器) 购买弹性云服务器,用于安装MySQL社区版。 登录华为云管理控制台。 单击管理控制台左上角的,选择区域“华南-广州”。 单击页面左上角,选择“计算 > 弹性云服务器 ECS”。 单击“购买云服务器”。 配置弹性云服务器参数。 选择通用计算型s6.xlarge
自建MySQL服务器 创建VPC和安全组 创建ECS(MySQL服务器) 安装社区版MySQL 创建ECS并安装MySQL客户端 父主题: 实施步骤
user方式删除用户。使用这种方式删除用户,需要执行flush privileges后,才会清理内存中相关数据,该用户才彻底不能登录。 使用delete from mysql.user方式删除用户,无法重新创建相应账户(报错ERROR 1396),原因是内存中相关数据仍然存在。 正确删除用户的方式为drop user语句,注意以下几点:
场景描述 主机或只读节点偶尔出现磁盘占用高或磁盘占用满,其他只读节点磁盘空间占用正常。 原因分析 MySQL内部在执行复杂SQL时,会借助临时表进行分组(group by)、排序(order by)、去重(distinct)、Union等操作,当内存空间不够时,便会使用磁盘空间。 排查思路:
Network,简称VPN),通过虚拟专用网络连接GaussDB(for MySQL)。 将GaussDB(for MySQL)与弹性云服务器创建在同一个虚拟专用网络下,通过弹性云服务器来访问GaussDB(for MySQL)。 具体请参见: 通过内网连接GaussDB(for MySQL)实例
变更GaussDB(for MySQL)实例或节点的CPU和内存 操作场景 您可以根据业务需要对包年/包月和按需实例或节点的规格(CPU和内存)进行变更。当实例或节点的状态由“规格变更中”变为“正常”,则说明变更成功。 GaussDB(for MySQL)实例或节点支持规格升配,也支持降配。
长事务产生大量临时表导致内存超限的解决办法 场景描述 云数据库GaussDB(for MySQL)实例在11:30到12:27分内存使用率持续上升,最终触发内存超限。 图1 内存使用率 原因分析 查看processlist.log日志,查询到有两个慢SQL与图1中内存增长的时间比较匹配。
创建ECS并安装MySQL客户端 请参考创建ECS(MySQL服务器)创建MySQL客户端的弹性云服务器。 确保和MySQL服务器所在ECS配置成相同Region、相同可用区、相同VPC、相同安全组。 不用购买数据盘。 云服务器名配置为:ecs-client。 其他参数同MySQL服务器的ECS配置。
如何将GaussDB(for MySQL)数据库备份到弹性云服务器上 您可以通过导出SQL语句的方式将数据库备份到弹性云服务器上。弹性云服务器不限制存放哪些数据,但是数据必须符合国家法律法规。您可以在弹性云服务器上存放数据库备份,但不建议将弹性云服务器作为数据库备份空间使用。 强烈推荐使用云数据库GaussDB(for
安装社区版MySQL 初始化磁盘并安装社区版MySQL。 登录弹性云服务器 登录华为云管理控制台。 单击管理控制台左上角的,选择区域“华南-广州”。 单击页面左上角,选择“计算 > 弹性云服务器 ECS”。 在弹性云服务器名称“ecs-mysql”所在行单击“远程登录”。 选择“CloudShell登录”。
创建VPC和安全组 创建VPC和安全组,为创建MySQL服务器和GaussDB(for MySQL)实例准备好网络资源和安全组。 创建VPC 登录华为云管理控制台。 单击管理控制台左上角的,选择区域“华南-广州”。 单击页面左上角,选择“网络 > 虚拟私有云 VPC”。 进入虚拟私有云信息页面。
密性,以实现客户端和服务器之间的安全通讯。 认证用户和服务器,确保数据发送到正确的客户端和服务器; 加密数据以防止数据中途被窃取; 维护数据的完整性,确保数据在传输过程中不被改变。 GaussDB(for MySQL)新实例默认开启SSL数据加密。开启SSL会增加网络连接响应时间和CPU消耗,请评估对业务的性能影响。
操作流程 构建MySQL服务器、购买GaussDB(for MySQL)实例,并且将MySQL服务器数据迁移到GaussDB(for MySQL)实例的整个流程的主要任务流如图1所示。 图1 流程图 父主题: ECS自建MySQL迁移到GaussDB(for MySQL)
库实例的内存(单位:GB)相关,计算公式如下: max_connections上限估计数值 = 节点可用内存 / 单个连接预估占用内存。 节点可用内存=总内存 - Buffer Pool占用内存 - 1GB(mysqld进程、操作系统、监控程序等)。 单个连接预估占用内存(single_thread_memory)
步骤1:购买ECS 登录管理控制台,查看是否有弹性云服务器。 有Linux弹性云服务器,执行3。 有Windows弹性云服务器,参考通过MySQL-Front连接GaussDB(for MySQL)实例。 无弹性云服务器,执行2。 图1 ECS实例 购买弹性云服务器时,选择Linux操作系统,例如CentOS。
“CPU使用率”小于30%,且持续15秒,距离上次缩容间隔大于等于15秒,且缩容后内存不超过80%。 使用须知 随着数据增长及日常使用,可能会产生一些无法自动释放的缓存或内存碎片导致内存占用过高,如果希望算力可以降到下限,可以重启数据库实例。 触发算力变更时,如果资源不足,会
迁移前准备 准备弹性云服务器或可通过公网访问GaussDB(for MySQL)的设备。 通过弹性云服务器连接GaussDB(for MySQL)数据库实例,需要创建一台弹性云服务器。 创建并登录弹性云服务器,请参见《弹性云服务器快速入门》中“购买弹性云服务器”和“登录弹性云服务器”。 通过公网访问GaussDB(for
Storage Service,简称OBS)上的备份文件以及GaussDB(for MySQL)服务使用的弹性云服务器(Elastic Cloud Server,简称ECS),都对用户不可见,它们只对GaussDB(for MySQL)服务的后台管理系统可见。 查看实例列表时请确保与购买实例选择的区域一致。
需要的最大内存。如果IN后面的list非常大,使用的内存会超过定义的最大内存,会使得Range scan失效,从而引发查询的性能下降。如果想解决该问题,可以调大允许使用的最大内存,但是该内存是session级别的,也就是说每个session进行该查询都会占用同样的内存,所以容易引