本文介绍PolarDB MySQL的常见问题和解答。

删除数据库后为什么还是占用很多空间?

答:这是由于redolog日志文件占用了空间,通常在2G~11G左右,最多时会占用11G:8G(缓冲池中的8个redolog日志)+1G(正在写的redolog日志)+1G(提前创建的redolog日志)+1G(最后一个redolog日志)。

缓冲池内的redolog日志文件数量由参数loose_innodb_polar_log_file_max_reuse控制,默认是8,您可以修改这个参数从而减少日志空间占用量,但是在压力大的情况下,性能可能会出现周期性的小幅波动。

说明 调整参数loose_innodb_polar_log_file_max_reuse后,缓冲池不会立刻被清空,随着DML被执行,才会慢慢减少。如果需要立即清空,请联系售后服务。
PolarDB MySQL常见问题_PolarDB MySQL数据库_云数据库PolarDB 阿里云技术文档 第1张

磁盘空间无法选择怎么办?

答:存储空间无需手动选择,系统根据数据量自动伸缩。

PolarDB底层使用存储集群的方式,可以做到磁盘动态扩容,且磁盘扩容过程对用户无感知,当磁盘空间使用了70%,系统就会自动扩容一部分空间,而且扩容不需要停止实例。通过这种机制,PolarDB的存储可以做到按照使用量来收费。

读写分离怎么保证读一致性?

答:读写分离链路会记录日志序号(Log sequence number,LSN),读请求会发往LSN符合要求的只读节点,详情请参见读写分离

如何实现PolarDB的读写分离?

答:只需在应用程序中使用集群地址,即可根据配置的读负载节点实现读写分离。您也可以自定义集群地址PolarDB MySQL常见问题_PolarDB MySQL数据库_云数据库PolarDB 阿里云技术文档 第2张

如果有多个只读节点,如何设置指定的ECS访问指定的只读节点?

答:您可以设置自定义集群地址,自行选择需要接入的只读节点,然后在ECS上使用该自定义集群地址。

只用了主地址,但是发现只读节点也有负载,是否主地址也支持读写分离?

答:主地址不支持读写分离,始终只连接到主节点。只读节点有少量QPS是正常现象,与主地址无关。

如何发现慢SQL

答:连接数据库集群后执行show processlist;找出执行时间过长的SQL。PolarDB MySQL常见问题_PolarDB MySQL数据库_云数据库PolarDB 阿里云技术文档 第3张

如何终止慢SQL

答:发现慢SQL后,查看慢SQL的Id,执行kill <Id>终止慢SQL。PolarDB MySQL常见问题_PolarDB MySQL数据库_云数据库PolarDB 阿里云技术文档 第4张