mysql数据库磁盘满了怎么办
RDS实例磁盘满导致实例异常的解决方法
问题现象
RDS数据库的磁盘空间满,导致实例变为只读状态,应用无法对RDS数据库进行写入操作,从而影响业务正常运行。
通过磁盘空间占用分布发现占用高的空间,如何通过DBA助手查看磁盘空间分布请参见容量预估。
图1 磁盘空间分布
问题原因
1、业务数据增加。
2、数据空间占用过大。
3、由于大量的事务和写入操作产生了大量的RDS for MySQL Binlog日志文件。
4、应用中存在大量的排序查询,产生了过多的临时文件。
解决方案
1、随着业务数据的增加,原来申请的数据库磁盘容量可能会不足,建议用户扩容磁盘空间,确保磁盘空间足够。
如果原有规格的磁盘已是最大,请先升级规格。
云盘实例可以设置存储空间自动扩容,在实例存储空间达到阈值时,会触发自动扩容。
2、针对数据空间过大,可以删除无用的历史表数据。
a.如果实例变为只读状态,您需要先联系客服解除只读状态;如果实例非只读状态,则可以直接执行删除操作。
查看物理文件大小Top50库表,识别可以删除的历史表数据,具体操作请参见容量预估。
b.可在业务低峰期对碎片率高的表执行optimize优化,以便释放空间:
c.清理整张表使用DROP或TRUNCATE操作;删除部分数据,使用DELETE操作,如果是执行DELETE操作,需要使用OPTIMIZE TABLE来释放空间。
3、如果是RDS for MySQL Binlog日志文件占用过多,可以清理本地Binlog日志,来释放磁盘空间。
4、针对大量排序查询导致的临时文件过大,建议优化SQL查询。
查询数据库慢SQL和Top SQL,分析数据量大,行数多,响应时间长的SQL语句,并进行优化。
5、您还可以订阅实例健康日报来获取SQL及性能分析结果,包括慢SQL分析、全量SQL分析、性能 & 磁盘分析、性能指标趋势图,当发生风险点时及时收到诊断报告。
具体操作请参见诊断日报。
云数据库RDS for MySQL磁盘扩容操作场景
云数据库RDS for MySQL磁盘扩容操作场景
如何连接测试服务器数据库
-
DAS连接
数据管理服务DAS是一款专业的简化数据库管理工具,提供优质的可视化操作界面,大幅提高工作效率,让数据管理变得既安全又简单。GaussDB(for MySQL)默认为您开通了远程主机登录权限。
-
内网连接
系统默认提供内网IP地址。当应用部署在弹性云服务器上,且该弹性云服务器与GaussDB(for MySQL)实例处于同一区域,同一VPC时,建议单独使用内网IP连接弹性云服务器与GaussDB(for MySQL)数据库实例。
-
公网连接
不能通过内网IP地址访问GaussDB(for MySQL)实例时,使用公网访问,建议单独绑定弹性公网IP连接弹性云服务器(或公网主机)与GaussDB(for MySQL)数据库实例。
-
JDBC连接
通过JDBC连接实例的方式有无需下载SSL证书连接和用户下载SSL证书连接两种,其中使用SSL证书连接通过了加密功能,具有更高的安全性。默认开启SSL数据加密。