You need to enable JavaScript to run this app.
导航
常见问题
最近更新时间:2024.08.12 10:53:28首次发布时间:2022.01.14 18:24:47

本文汇总了使用云数据库 MySQL 版的过程中常见的问题。

服务与支持

为什么云数据库 MySQL 版不支持 MyISAM 引擎、 Memory 引擎?

云数据库 MySQL 版在 MySQL 5.7 及以上版本中默认支持 InnoDB 引擎,不再支持 MyISAM 引擎、Memory 引擎或 Archive 引擎,主要原因是:

  • 云数据库 MySQL 版对 InnoDB 做了很多内核优化,已具备明显的性能优势。

  • MyISAM 采用的是表级锁机制,而 InnoDB 采用的是行级锁机制,InnoDB 在通常情况下具备更高的写入效率。

  • MyISAM 对数据完整性的保护存在缺陷,这些缺陷会导致数据库数据的损坏甚至丢失。这些缺陷多为设计问题,无法在不破坏兼容性的前提下进行修复。

  • MyISAM 和 Memory 向 InnoDB 的迁移代价低,大多数应用仅需要改动建表的代码即可完成迁移。

  • MySQL 的发展在向 InnoDB 转移。在官方最新的 MySQL 8.0 版本中,系统表均已采用 InnoDB。

  • Memory 无法保证数据的完整性,实例重启或者切换主备节点时,表中的所有数据都会丢失。

如您对 MyISAM 引擎和 Memory 引擎有特别需要,可提交工单联系云数据库 MySQL 版技术支持。

如何把查询结果导出到文件?

云数据库 MySQL 版已对接数据库工作台,在数据库工作台中提供了相关能力。更多详细信息,请参见创建 SQL 结果集导出任务

如何升级 MySQL 5.7 实例到 MySQL 8.0 实例?

MySQL 5.7 实例不能直接升级为 MySQL 8.0 实例。如需升级实例版本,可以先创建一个 MySQL 8.0 实例,通过数据库传输服务 DTS(Database Transmission Service)将数据从 MySQL 5.7 迁移至 MySQL 8.0 实例。关于使用 DTS 迁移数据的详细信息,请参见什么是数据库传输服务

网络连接

为什么无法连接数据库?

若您出现无法连接数据库的问题,请根据如下建议进行排查:

  • 确认 MySQL 实例是否为运行中的状态。
  • 是否已为实例创建账号
  • 是否已配置IP 白名单
  • 若通过私网连接,请确认 ECS 实例和 MySQL 实例在同一个 VPC 下。

若排查之后仍无法连接 MySQL 实例,您可以提交工单联系技术支持。

在 ECS 实例使用 MySQL 客户端连接 MySQL 实例时收到错误提示 Access denied

在 ECS 实例使用 MySQL 客户端连接 MySQL 实例时如果收到如下错误提示,建议优先确认是否将 ECS 实例的地址加入了 MySQL 实例的白名单。更多关于创建白名单的信息,请参见创建白名单

ERROR 1045 (28000): Access denied for user 'example'@'[192.168.xxx.xxx]' (using password: IP NOT IN white List)

可以获得 MySQL 实例公网连接或私网连接的 IP 吗?

不可以。MySQL 的连接地址都是以域名的形式提供。

MySQL 实例公网连接或私网连接的 IP 会变化吗?

通常情况下,在不变更实例绑定的私有网络或子网的情况下,连接地址的 IP 不会变化,一个连接终端对应一个 ENI 网卡地址。但建议通过域名访问,使用域名访问时可以隐藏真实的 IP 并提高可用性。关于查看域名的详细信息,请参见查看连接地址和端口

重启实例或切换主备节点后,收到错误提示 ERROR 3300 (HY000): Backend NetWork Error

重启实例或切换主备节点后,可能会收到 ERROR 3300 (HY000): Backend NetWork Error 提示,该错误信息表示代理的网络异常,通过重试即可解决。

账号权限

高权限账号和普通账号有什么区别?

高权限账号:一个实例只能创建一个,可以管理所有普通账号和数据库。
普通账号:一个实例中可以创建多个,需要手动给普通账号授予特定数据库权限。

说明

关于账号权限的具体信息,请参见创建账号

高权限账号能否修改指定权限?

高权限账号只能重置为初始状态,无法修改为指定的权限。

说明

关于账号权限的具体信息,请参见创建账号

数据库是否可以绑定多个账号?

可以。

为什么账号的状态显示“不可用”?

原因分析:如果在创建数据库账号后,通过命令行删除了该账号,那么在控制台的账号列表中,该账号的状态会显示为不可用
解决办法:在控制台为账号重置密码,即可恢复账号为可用状态。关于重置密码的详细信息,请参见重置账号密码。建议在控制台进行账号管理相关操作,以避免账号不可用的情况。

只读节点

什么是只读节点?

面对有大量读请求的应用场景,可以创建一个或多个只读节点,利用只读节点满足大量的数据库读取需求,增加应用的吞吐量,详情请参见只读节点概览

如何选择只读节点的规格?

可以与主节点不一样,并且可以随时更改。建议只读节点规格高于主节点规格,否则容易导致只读节点延迟偏高、负载高等现象。

只读节点的账号和主节点一样吗?

一样,可以通过主节点的账号访问只读节点。

一个实例下最多可以创建多少个只读节点?

10 个。

只读节点为何没有备份功能?

因为主节点已有备份,只读节点暂时不支持备份设置以及手动发起备份。

可以将已有的节点切换为只读节点吗?

只能为实例新增只读节点,不能将已有的节点切换为只读节点。

创建只读节点会影响主节点吗?

增加只读节点时,可能会因为集群所在资源池或当前实例适合的迁移方式不同而引起主、备库迁移或连接闪断,具体影响以变更配置页面展示的预估影响为准。如果在变更配置中只增加只读节点,选择执行时间为立即执行时有较小概率引起主、备库迁移或连接闪断。

读写分离

为何选择读写分离会报错?

开启读写分离前请确保已创建只读节点,若您出现读写分离报错的问题,请根据如下建议进行排查:

  • 确认 MySQL 实例是否为运行中的状态。
  • 实例是否已创建只读节点,且实例处于运行中状态。

若排查之后仍出现读写分离报错,您可以提交工单联系技术支持。

读写分离的作用是什么?

开启读写分离后,可将满足条件的读请求转发至只读节点执行,降低主节点的读压力。关于开启读写分离后转发请求逻辑的详细信息,请参见开启读写分离

什么是全局只读?

开启全局只读后,可设置 MySQL 实例只允许读取,无法写入。

开启全局只读后,是否会覆盖账号权限?

开启全局只读后只有读权限,没有其他权限。

备份恢复

为什么无法进行备份操作?

若您出现无法进行备份操作的问题,请根据如下建议进行排查:

  • 确认 MySQL 实例是否为运行中的状态。
  • 确认备份期间未执行 DDL 操作,避免锁表导致备份失败。
  • 表的数量超过 600,000 时将无法为实例进行备份。表数量过多的时候,建议对实例进行拆分。

若排查之后仍出现无法进行备份操作的问题,您可以提交工单联系技术支持。

备份类型是否支持逻辑备份?

支持。

云数据库 MySQL 版有哪些容灾方案?

  1. 云数据库 MySQL 版提供在线的主备高可用架构,保障服务可用性,在主节点出现故障后,会自动检测并秒级主备切换。
  2. 支持多可用区部署。在创建新实例、恢复到新实例时,支持为主节点、备节点和只读节点指定同一地域的不同可用区,使实例具备跨可用区容灾能力。
  3. 支持跨地域备份功能,支持进行跨地域备份和恢复。
  4. 可以通过数据库传输服务配置同步任务来实现在线的跨地域容灾,更多详细信息,请参见同步方案概览

安全

MySQL 实例必须设置白名单吗?

如果当前地域有配置默认白名单,MySQL 实例在创建后会绑定默认白名单,默认白名单内的 IP 地址或地址段可以访问实例。如果当前地域没有配置默认白名单,MySQL 实例在创建后不会绑定任何白名单,任何 IP 均无法访问该 MySQL 实例。

单个实例最多可以绑定多少个白名单?

单个实例最多可以绑定 100 个白名单。

每个白名单最多支持多少 IP 或者 IP 段?

每个白名单最多支持 300 个 IP 或 IP 段。

一个白名单支持绑定到多个实例吗?

支持。一个白名单最多支持绑定到 500 个实例。

日志

慢日志明细可保留多久?

慢日志明细可保留 30 天。

被记录在慢日志 SQL 语句的默认时长是?能否自定义?

默认执行时间超过 1 秒的 SQL 语句会被记录在慢日志。可在参数设置中修改 long_query_time 参数来修改这个时长,详情请参见修改参数

参数

在参数管理中为什么找不到需要修改的参数?

出于安全和稳定性考虑,当前仅支持修改部分参数,关于可修改的参数,请参见可修改参数列表 5.7可修改参数列表 8.0。若您无法找到需要修改的参数,您可以提交工单联系技术支持。

修改参数后,需要重启实例吗?

部分参数修改后需要重启实例,您可在控制台的参数配置>MySQL 参数是否重启生效列查看是否需要重启实例,详情请参见修改参数

说明

建议在业务低峰中操作,并确保应用程序具有重连机制。

支持修改系统参数模板吗?

系统参数模板不支持修改,您可以修改自定义模板

支持修改 lower_case_table_names 吗?

MySQL 5.7 支持修改,MySQL 8.0 及之后的版本已不支持该参数。由于 lower_case_table_names 参数会影响到 MySQL 数据库整体表名和列名的大小写敏感性,建议在修改该参数之前,先备份数据。关于如何备份数据,请参见手动创建备份

如何查询云数据库 MySQL 版不支持修改的参数的设定值?

可登录数据库工作台,使用 SQL 语句 SHOW variables like '参数名'查看。

服务可用性

切换主节点需要注意哪些事项?

  • 主备切换过程中可能会有 1~2 次闪断,请确保您的应用程序具有自动重连机制。
  • 如果实例下挂载有只读节点,主备切换后,只读节点的数据会因重建复制链路、同步增量数据等产生一段时间的延迟。
  • 在没有主从复制延迟的情况下 5 秒内即可切换成功。

说明

关于主备切换的更多详情,请参见切换主节点

主备切换后需要在业务中更新连接地址吗?

主备地址一样,主备切换后不需要更换地址,但需要注意主备切换过程中会有闪断的情况。