检测到您已登录华为云国际站账号,为了您更好的体验,建议您访问国际站服务网站 https://www.huaweicloud.com/intl/zh-cn
不再显示此消息
java:61) 原因分析 canal拉取Binlog时需要赋予REPLICATION SLAVE, REPLICATION CLIENT权限。 解决方案 使用管理员账户给相应用户授予REPLICATION SLAVE, REPLICATION CLIENT权限。 GRANT SELECT
MySQL客户端连接实例后,会自动断开,报错信息:“ERROR 2013:Lost connection to MySQL server during query”。 解决方案 ERROR 2013是MySQL常见错误,一般为配置错误导致。 “wait_timeout”:服务器关闭非交互连接之前等待活动的秒数。
tables where table_schema='db_name' and table_name = 'table_name'\G; 解决方案 针对表空间膨胀的问题,可以进行表空间优化整理,从而缩小空间,执行如下SQL命令: optimize table table_name;
自增主键的字段取值达到上限,无法继续增长,导致新插入的数据生成的自增主键值与表中上一条数据相同,因为自增主键的值不可重复,插入失败报错。 解决方案 如果数据变化较多,表中实际数据量远小于自增主键的容量,则可以考虑将该表的数据全量导入新表,删除原表,然后rename将新表名改回原表名
分析对应时间点的慢日志记录,该时间点有大量的多值批量插入语句,该插入方式会导致每个会话申请较多的SESSION级内存,并发高,很容易引起实例OOM。 图4 慢日志 解决方案 针对多值插入方式引起的OOM,建议减少单次插入数据量,分多次插入,且及时断开重连会话以释放内存。可执行show full proces
创建用户后用delete删除用户,再创建同名用户时报错ERROR 1396。通过执行flush privileges后,可正常创建同名用户。 解决方案 方式一(推荐):在业务低峰期,使用管理员账户执行drop user user_name删除用户,再重新创建该用户,修复该问题。 方式二
分析对应时间点的慢日志记录,该时间点有大量的多值批量插入语句,该插入方式会导致每个会话申请较多的SESSION级内存,并发高,很容易引起实例OOM。 图4 慢日志 解决方案 针对多值插入方式引起的OOM,建议减少单次插入数据量,分多次插入,且及时断开重连会话以释放内存。可执行show full proces
url”字段,如果执行DDL操作将“callback_url”修改为varchar(1024),会超出联合索引最大长度限制,所以报错。 解决方案 MySQL机制约束,建议修改索引或字段长度。 父主题: SQL类
v1.1版本,存在差异。进一步确认客户端TLS版本,与自建MySQL一致,因此出现连接自建MySQL成功,连接云上TaurusDB失败。 解决方案 客户端升级TLS版本到TLS v1.2。 如果使用官方JDBC驱动mysql-connector/J,可参考官方文档,配置方法: 父主题:
官方文档。 当MySQL检查到死锁的表时,会进行事务的回滚。其影响范围不仅是某个表,还会影响外键所在的表,最终导致数据库相关操作变慢。 解决方案 建议排查并优化死锁表相关的业务,业务上合理使用外键,避免更新冲突,避免产生死锁。 父主题: 性能资源类
自增主键的字段取值达到上限,无法继续增长,导致新插入的数据生成的自增主键值与表中上一条数据相同,因为自增主键的值不可重复,插入失败报错。 解决方案 如果数据变化较多,表中实际数据量远小于自增主键的容量,则可以考虑将该表的数据全量导入新表,删除原表,然后rename将新表名改回原表名
释放page的过程中会去获取page所在索引根节点的SX锁,导致select语句无法获取到根节点page的rw-lock,一直在等待。 解决方案 该场景为正常现象,等待purge操作完成后即可恢复正常。 扩大实例规格,提高purge效率。 调整优化业务,避免突然删除大量数据。如果
官方文档。 当MySQL检查到死锁的表时,会进行事务的回滚。其影响范围不仅是某个表,还会影响外键所在的表,最终导致数据库相关操作变慢。 解决方案 建议排查并优化死锁表相关的业务,业务上合理使用外键,避免更新冲突,避免产生死锁。 父主题: 性能资源类
tables where table_schema='db_name' and table_name = 'table_name'\G; 解决方案 针对表空间膨胀的问题,可以进行表空间优化整理,从而缩小空间,执行如下SQL命令: optimize table table_name;
v1.1版本,存在差异。进一步确认客户端TLS版本,与自建MySQL一致,因此出现连接自建MySQL成功,连接云上TaurusDB失败。 解决方案 客户端升级TLS版本到TLS v1.2。 如果使用官方JDBC驱动mysql-connector/J,可参考官方文档,配置方法: 父主题:
emoji表情为特殊字符,需要4字节字符集存储。 该问题场景下,数据库字符集为utf-8,它最多支持3个字节;utf8mb4才是支持4个字节的字符集; 解决方案 将存储emoji表情的字段的字符集修改为utf8mb4。 如果涉及的表和字段比较多,建议把对应表、数据库的编码也设置为utf8mb4。参考命令:
创建用户后用delete删除用户,再创建同名用户时报错ERROR 1396。通过执行flush privileges后,可正常创建同名用户。 解决方案 方式一(推荐):在业务低峰期,使用管理员账户执行drop user user_name删除用户,再重新创建该用户,修复该问题。 方式二
emoji表情为特殊字符,需要4字节字符集存储。 该问题场景下,数据库字符集为utf-8,它最多支持3个字节;utf8mb4才是支持4个字节的字符集; 解决方案 将存储emoji表情的字段的字符集修改为utf8mb4。 如果涉及的表和字段比较多,建议把对应表、数据库的编码也设置为utf8mb4。参考命令:
limit语句的时候,做了一个优化,内部使用priority queue结构做排序,该排序方式属于不稳定排序算法,筛选出limit n的结果后就直接返回,不能保证有序性。 解决方案 方案1:可以在需要排序的字段上加上索引。如案例中,alter table ratings add index idx_category
url”字段,如果执行DDL操作将“callback_url”修改为varchar(1024),会超出联合索引最大长度限制,所以报错。 解决方案 MySQL机制约束,建议修改索引或字段长度。 父主题: SQL类