检测到您已登录华为云国际站账号,为了您更好的体验,建议您访问国际站服务网站 https://www.huaweicloud.com/intl/zh-cn
不再显示此消息
增加表字段后出现运行卡顿现象 故障描述 当给MySQL实例的表中增加一个字段,出现系统无法访问的现象。 解决方案 因增加表字段而引起数据库出现性能问题,有可能是未对新增字段添加索引,数据量大导致消耗了大量的CPU资源。为此,提出如下建议恢复数据库性能。 添加对应索引、主键。 优化慢SQL语句。
MySQL)实例 本章节介绍创建GaussDB(for MySQL)实例,该实例选择和自建MySQL服务器相同的VPC和安全组。 登录华为云管理控制台。 单击管理控制台左上角的,选择区域“华南-广州”。 单击页面左上角,选择“数据库 > 云数据库 GaussDB(for MySQL)”。
更新或删除数据,避免破坏外键的约束。 可以通过设置变量FOREIGN_KEY_CHECKS值为off,来关闭上述机制,详见官方文档。 解决方案 通过设置变量FOREIGN_KEY_CHECKS值为off,来关闭上述机制: set session foreign_key_checks=off;
socketTimeout、connectTimeout等,会影响客户端连接的超时时间。如果超过这个时间,一直没使用的连接就会断开。 解决方案 将socketTimeout、connectTimeout等参数的默认值调整为合适的值。 在程序中注意处理断线重连的功能。 推荐直接使用连接池。
Access denied”。 原因分析 GaussDB(for MySQL)不支持在数据库中执行修改全局参数的命令,需要通过管理控制台修改。 解决方案 登录管理控制台修改参数。 登录管理控制台。 单击管理控制台左上角的,选择区域和项目。 在页面左上角单击,选择“数据库 > 云数据库 GaussDB(for
排查只读节点上运行的事务: 发现有一直未提交的长事务,如上图所示(事务一天前开始),该长事务产生的临时表一直未清理,导致磁盘占用高。 解决方案 方式一:等待事务提交后,临时表会自动被清理,只读实例的磁盘占用恢复。 方式二:kill相应会话,停止长事务。 父主题: 性能资源类
如果一个数据库开启了GTID,使用mysqldump备份或者转储的时候,即使不是MySQL全库(所有库)备份,也会备份整个数据库所有的GTID号。 解决方案 在GaussDB(for MySQL)数据库进行导出备份和恢复的时候,需要注意是否启用数据库用GTID模式。 如果开启,则在mysqld
原因分析 从错误截图中可以看出,使用的是mariadb的jar包,而非MySQL的官方驱动包,而mariadb与官方的使用方法略有区别。 解决方案 对于mariadb的连接串应该为: String url = "jdbc:mysql://xxx.xxx.xxx.xxx:xxxx/mysql
所以等值比较、数学运算等场景很容易出现预期外的情况。 MySQL中涉及浮点数的类型有float和double。如下示例中遇到的问题: 解决方案 使用精度的方法处理,使用字段与数值的差值的绝对值小于可接受的精度的方法。示例: 使用定点数类型(DECIMAL)取代浮点数类型,示例: 父主题:
the --sql-replica-on option so it cannot execute this statement的原因及解决方案
类型的event,此类event非ROW格式,一些场景下,会导致canal出现blank topic问题,引发Binlog解析失败。 解决方案 将GaussDB(for MySQL)的参数“binlog_rows_query_log_events”的值修改为OFF,重启中断的canal任务。
会话2执行DDL操作,修改表结构。 会话1执行普通的查询语句。 也可以通过Binlog或者审计日志,分析业务侧是否有同一个表DDL和一致性快照事务一起执行的情况。 解决方案 若经排查,是由上述原因引起的报错,需要业务侧避免同一个表的DDL语句和一致性快照事务同时执行。 父主题: SQL类
数据库迁移 GaussDB(for MySQL)支持导入哪些数据库引擎的数据
是否有如下类似信息。如果有,说明是证书过期导致。 客户端istio-citadel证书每隔45天过期,导致主动发起数据库断连请求。 解决方案 客户端设置合理的istio-citadel证书过期时间,并在过期发生时,主动规避操作。 客户端排查是否有其他证书过期问题。 父主题: 连接类
NO_TABLE_OPTIONS:不要在SHOW CREATE TABLE的输出中打印MySQL专用表选项(例如ENGINE)。 解决方案 将sql_mode的NO_FIELD_OPTIONS属性去掉即可。 父主题: 基本使用类
like '%ssl%'; 发现该实例未开启SSL: 因此,问题原因是自行修改root账号的ssl_type为ANY后,导致无法登录。 解决方案 将root账号的ssl_type修改为空即可,参考命令: update mysql.user set ssl_type='' where
g temporary、using filesort,如果有,说明该语句用到了临时表或临时文件,数据量大的情况下,会导致磁盘占用高。 解决方案 复杂查询语句导致磁盘打满,建议客户从业务侧优化响应查询语句,常见优化措施: 加上合适的索引。 在where条件中过滤更多的数据。 重写SQL,优化执行计划。
'=' 原因分析 该报错通常出现在比较两个字符集编码不同的表、字段或数据库时。因为客户端连接时使用的字符集与数据库字符集不同导致报错。 解决方案 如果客户端使用了和数据库不同的字符集,需要调整客户端配置,使用相同的字符集连接数据库,或者在连上数据库后显式设置成对应的字符集,即可正常查询。
MySQL客户端连接实例后,会自动断开,报错信息:“ERROR 2013:Lost connection to MySQL server during query”。 解决方案 ERROR 2013是MySQL常见错误,一般为配置错误导致。 “wait_timeout”:服务器关闭非交互连接之前等待活动的秒数。
2版本,自建MySQL为TLS v1.1版本,存在差异。进一步确认客户端TLS版本,与自建MySQL一致,因此出现连接自建MySQL成功,连接云上GaussDB(for MySQL)失败。 解决方案 客户端升级TLS版本到TLS v1.2。 如果使用官方JDBC驱动mysql-connector/J,可参考官方文档,配置方法: