配置类问题

RDS for MySQL数据库对数据量有限制吗?

RDS对各套餐的Mysql实例做了数据量上的限制。最小套餐支持5G数据空间,最大套餐支持1T数据空间。

RDS for MySQL数据库链接数如何限制?

数据库的连接数上限为MySQL的系统变量max_connections,当云数据库实例连接数量超过max_connections时,新的连接将无法建立。RDS max_connections默认值因内存配置不同而变化,具体见购买页面或参照下表。若用户当前的最大连接数不能满足需求可以通过升级套餐实现。

内存 最大连接数
256 M 64
512 M 128
1024 M 256
2048 M 512
4096 M 1000
8 G 2000
16 G 4000
24 G 6000
32 G 8000
48 G 10000

RDS for Mysql的数据表默认存储引擎是什么,是否可以修改为其它默认存储引擎?

当前RDS for Mysql的数据表默认存储引擎是InnoDB,可以通过参数配置页面更改default_storage_engine值来修改默认存储引擎,支持InnoDB,MyISAM两种类型。由于MyISAM本身缺陷,可能出线表损坏情况,建议用户尽量采用默认InnoDB存储引擎。

已使用磁盘空间如何计算?

RDS for MySQL实例磁盘已用磁盘空间是计算mysql路径下var文件夹的大小,这里包括共享表空间、binlog、数据量。

RDS实例都包括什么状态,每种状态下都能做什么操作?

状态值 说明 容许的操作
创建中 等待实例创建
运行中 正常运行 全部操作
重启中 重启实例过程中 续费
变配中 套餐升级或降级
备份中 自动备份或手动备份 续费
修改域名 修改域名中 全部操作
恢复中 根据备份数据恢复过程中 续费
删除中 到期后资源回收
数据同步中 创建只读实例时的主实例状态
主实例升级中 只读实例状态
磁盘锁定 可用空间已满 账号不能写入,只能读数据
已到期 欠费中 续费后,可以继续使用

RDS磁盘空间达到上限,还可以再访问吗?

RDS磁盘空间达到上限后,可以再进行访问,但是不能写入数据。需要删除数据或进行套餐升级后,可以进行使用。

账号可以无限创建吗,账号数量上限是多少?

账号不能无限创建,最多创建20个账号。

数据库可以无限创建吗,一个MySQL实例最多可以创建多少个数据库?

数据库不能无限创建,一个MySQL实例最多可以创建100个数据库。

每个数据库是否可以用不同的账号进行管理?

可以,只需要在数据库的账号管理页面对不同的账号进行授权,具体操作可参考管理数据库账号

备份数据会保存多长时间?

RDS赠送100%*本地磁盘空间大小的备份存储空间,默认只使用免费赠送空间存储数据库自动备份文件,超过免费空间将自动删除旧备份,不产生任何备份存储费用。用户也可以手动设置备份存储时长,若存储超出免费空间部分将产生存储计费。存储计费请参见备份存储计费

数据备份时会影响线上访问吗?

数据备份是在从库上进行的,不影响数据库访问,备份期间不能在控制台执行其他操作,需要等待备份完成后再进行。

binlog数据占用磁盘空间吗,默认会保留多少天?

binlog数据占用磁盘空间,但不占用用户购买的磁盘空间。binlog默认在本地保留7天,会根据磁盘空间情况进行删减;共享存储中会保留完整7天的binlog。

IP白名单支持添加多少个?

IP白名单最多支持15个IP。

RDS如何升级?

  • 用户若需要对MySQL的版本进行升级,可以通过先创建新版本实例,把原实例数据迁移至新实例中,再将请求切换至新实例,完成实例版本升级。原实例迁移到新实例可以使用在线迁移工具完成,具体请参考操作指南中的数据库迁移

  • RDS支持对已购买实例进行配置变更,可以变更内存和存储磁盘,具体请参考操作指南中的变更实例配置

如何连接数据库?

连接数据库有内网连接和公网连接两种方式,其中

  • 内网连接:通过RDS域名进行访问。
  • 公网连接:开通公网访问。

是否可以使用内网IP连接实例?

当前不建议使用内网IP连接实例。原因如下:

  • 对主实例来说,当主实例出现故障时,后台会自动进行主备切换,在此过程中内网IP会变化。如果使用内网IP直连RDS主实例且切换后未更新IP会导致数据无法读写。
  • 对只读实例来说,故障恢复后其内网IP也会发生变化,如果使用内网IP直连只读实例且恢复后未更新IP会导致无法读取数据。

RDS是否支持jdbc直连?

支持,需要开通公网。开通公网访问后使用数据库名称就可以直接访问了。

外部服务器能否访问百度云的RDS?

可以,但是需要开通RDS的“公网访问”功能。会产生一定的流量费用,详见产品定价

云服务器BCC如何通过内网访问RDS?

同账户下,用户可以直接以RDS的域名在BCC上对RDS进行访问。

如何通过工具或者代码访问数据库?

详细的连接数据库操作请参见连接RDS实例。如果通过公网访问需要在RDS实例“详细信息”页面开通公网访问权限。

MySQL如何导入大于8192KB的SQL文件?

MySQL新建数据库示例后,可以通过数据库管理工具phpMyAdmin导入数据,但导入文件的最大限制为8192KB。

如果有大于8192KB的文件,可以在开通公网连接后远程连接登录。使用MySQL的客户端工具如sqlyog进行连接,地址为RDS域名或IP地址,端口为3306,用户名和密码为“账户管理”中的设置账号,远程连接成功后可以导入大于8192的SQL文件。

RDS是否需要自己做分表和读写分离?

  • RDS需要用户自己做分库分表操作。

  • RDS目前可通过代理实例和只读实例实现读写分离。

如何查看RDS的读写分离是否成功?

可以通过查看日志binlog中的内容判断。读写分离成功后,主库日志数据应为写入,读库日志内容应为读取,若日志内容正确则表示配置成功。

多台云服务器是否可以使用同一个RDS数据库?

可以。

RDS实例的监听端口是什么,是默认的3306吗?

是的。RDS实例的端口号可以在实例的详情页面上看到。

RDS默认的端口3306能否更改为其它端口?

可以在后台更改为其它端口,但是不建议这样做。因为RDS监控相关的端口是3306,如果更改了,就无法反映监控信息,强烈建议不要更改。

是否支持root账号?

MySQL普通账号不支持root账号,super权限账号支持root账号。

  • 可以直接在控制台通过“创建super账号”创建root账号。
  • 用户可以通过super账号执行SQL命令创建DB、管理账号及kill数据库等操作。用户如果需要创建root账号,可以通过super账号执行以下SQL命令创建:
    CREATE USER 'root'@'%' IDENTIFIED BY 'XXXXXX'

super权限账号相关操作请参考管理高权限账号

RDS实例开通公网访问之后,会立即生效吗?

  • 如果RDS首次开通公网访问,公网的IP地址会很快分配给RDS实例,但是更新DNS的信息需要10分钟左右。在DNS信息未刷新前,用户无法通过nslookup等命令获取公网IP地址,所以暂时还无法从公网访问此RDS。
  • 如果之前已经开通过公网访问但是后来关闭了,此公网地址会被保留在DNS上(此时nslookup命令能将域名解析到以前的公网地址,但是ping地址不通)。此时,在RDS实例的详情页面上再次开通公网访问权限后,此地址会很快生效,不需要再等10分钟。