阿里云mysql数据库使用常见问题

Q:推荐云数据库MySQL采用什么存储引擎?
 
A:支持社区版MySQL 5.6、5.7和8.0,均仅支持InnoDB存储引擎。它提供了更好的性能和安全性,写入性能更高,可实现数据库故障后数据不丢失。
 
Q:新购MySQL实例的存储空间使用量为何不为零?
 
A:新购实例在初始化时一般会占用4G左右的存储空间。同业界主流做法一致,会采用redo日志文件ib_logfile0和ib_logfile1来保存InnoDB存储引擎表的事务日志信息。其中,每份redo日志会占用新购MySQL实例约2GB大小(该数值不可变)的存储空间。
 
Q:云数据库MySQL背后是物理机还是虚拟机提供服务?
 
A:云数据库MySQL背后是物理机。
 
Q:一个账号最多可以运行多少个MySQL实例?
 
A:一个用户最多创建20个实例(主备实例+单机实例)。
 
Q:如何对实例进行网络配置?
 
A:实例订购时使用系统默认VPC、安全组,不对用户展示。用户请参见“设置网络访问“章节,实现实例访问。
 
Q:是否支持实例变更?
 
A:本阶段支持实例规格变更。具体请参见“实例变更“章节。
 
Q:云数据库MySQL是否有域名映射?
 
A:本阶段仅支持IP,不支持域名。

Q:是否支持公网访问?是否受带宽限制?
 
A:本阶段仅支持内网访问,暂不支持公网访问。内网访问,不受带宽的限制。
 
Q:用户如何日常运维管理MySQL实例?
 
A:通常情况下,用户无需对MySQL实例进行日常基础运维工作,如高可用、安全补丁等。但是,为保证您的业务正常运行,还需关注如下问题:
 
 主备MySQL实例异常:当主库出现任何异常,备库将在30s内自动接管服务成为主库。当原主库正常启动后,会重新加入集群成为新备实例。
 
 单机MySQL实例异常:通过云盘存储持久化用户数据。当MySQL实例异常不可用时,可以通过实例重启来进行恢复。
 
 实例规格扩容:定期查看实例的CPU、IOPS、空间,当不够用时按需扩容或者添加只读从库来分担主库压力。
 
 性能优化:定期通过日志管理模块查看是否有慢SQL语句需要优化,索引是否正常(不存在缺失/多余的索引)。
 
Q:如果用户A的sql语句有问题或者查询过多,造成数据库查询卡死,会影响用户B的数据库实例吗?会不会发生多个用户资源争用?
 
A:不同用户之间隔离,是基于Linux操作系统层面的cgroup隔离机制。用户之间的资源也是隔离的,不会争用。
 
Q:如何将数据导入/导出到MySQL实例?
 
A: 借助MySQL常见的逻辑导入导出工具Mysqldump,导入/导出数据。登录同资源池的云主机,执行如下命令导入/导出数据。
 
 实例导出数据命令:mysqldump -u<账号> -p<密码> ?h<实例>IP ?P<端口> 数据库名 > db1.sql
 
 数据导入实例命令:先将db2.sql逻辑数据放到云主机,连接进入数据库后,执行命令source db.sql
 
Q:实例存储空间(本地存储/云盘存储)里面存放的是什么?
 
A:存储空间存放MySQL表数据、Binlog、日志信息(慢日志与错误日志)、和系统表(undo日志与redo日志)等。
 
 MySQL表数据:表及其表内的数据都会占用存储空间,并空间会随着数据的增长一直增长。
 
 日志信息:包含错误日志与慢日志。
 
 系统表:云数据库MySQL使用INNODB存储引擎,数据库的redo日志和undo日志均存在系统表空间中。
 
  Binlog:Binlog是一种二进制日志,包含索引文件和日志文件两大类。
 
日志文件:Binlog日志文件,记录了数据库运行过程中所有的DDL和DML(除了数据查询语句)语句事件。更新事务越多,空间占用就越大。
 
索引文件(文件名后缀为.index)用于记录哪些日志文件正在被使用。
 
Q:数据库能正常连接,但是无法使用?(如show databases也会报错)
A:可能是连接数不够或用完了,建议及时释放无用连接。具体操作步骤,参见“如何查看数据库连接数是否过多以及解决方案”。