问题一:在PolarDB中,只有写入成功的交易日志表数据,原因是什么?
在PolarDB中dump了最新的binlog日志排查昨天晚上18.45有笔订单号数据没有正常插入订单表的binlog,初步怀疑可能是事务长时间没提交或者回滚造成的,但是发现binlog里面没有这个订单号的binlog日志,只有写入成功的交易日志表数据,原因是什么?
参考回答:
在MySQL中,事务的回滚操作通常不会记录在二进制日志(binlog)中。二进制日志主要用于记录数据库更改的所有操作,如INSERT、UPDATE、DELETE等,这些日志可以用于复制和数据恢复。
二进制日志是逻辑日志,它记录了导致数据更改的SQL语句。当执行ROLLBACK时,所有未提交的更改都将被丢弃,数据库状态回到了事务开始前的状态,因此不需要在binlog中记录回滚操作。这是因为二进制日志的主要目的之一是为了主从复制,复制过程中从服务器应该应用与主服务器相同的数据更改,既然回滚操作取消了更改,那么就没有必要将这些取消的更改复制到从服务器。
关于本问题的更多回答可点击原文查看:
https://developer.aliyun.com/ask/586772
问题二:这是PolarDB-X什么问题?
这是PolarDB-X什么问题?
参考回答:
这个表别删,建个新的表,还是用trace show trace看下结果
关于本问题的更多回答可点击原文查看:
https://developer.aliyun.com/ask/585634
问题三:PolarDB-X应该怎么挂载吗?按照github上面的步骤,使用docker部署单实例
PolarDB-X应该怎么挂载吗?按照github上面的步骤,使用docker部署单实例,挂载容器内/home/polarx/polardbx/build/run/polardbx-engine/data这个数据目录到宿主机自定义路径的目录时出现错误,使用docker volume自动管理的目录挂载就不会有问题,自定义宿主机、系统环境这些都没有问题,换过几台服务器,100%复现问题,具体操作步骤在这个文件里,我们的项目只需要单实例就可满足,因为是国产硬件(飞腾)和系统,不是很想安装过多的组件,兼容性问题不好解决,想用docker以最简单的方式部署,同时将数据存到指定目录
参考回答:
软连接方式可以,启动没问题
关于本问题的更多回答可点击原文查看:
https://developer.aliyun.com/ask/585632
问题四:PolarDB中提示的错误怎么处理?
alter table t1
PARTITION BY RANGE COLUMNS(create_time) INTERVAL(DAY, 1)
(
PARTITION p0 VALUES LESS THAN('2023-12-23')
);
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'INTERVAL(DAY, 1)
(
PARTITION p0 VALUES LESS THAN('2023-12-23')
)' at line 2
在polarDB-mysql 内核版本 8.0.1.1.38.2上执行文档示例。PolarDB中提示的错误怎么处理?
参考回答:
8.0.1 版本是不支持INTERVAL的,只在8.0.2 版本支持。只能做迁移升级,暂时没有在8.0.1 版本支持 INTERVAL 的计划,并且8.0.1 的分区由于没有分区级MDL锁,对分区做操作时会锁全表。所以还是建议您升级 8.0.2 版本。
关于本问题的更多回答可点击原文查看:
https://developer.aliyun.com/ask/584985
问题五:在polarDB-mysql 内核版本 8.0.1.1.38.2上执行文档示例。提示的错误怎么处理?
alter table t1
PARTITION BY RANGE COLUMNS(create_time) INTERVAL(DAY, 1)
(
PARTITION p0 VALUES LESS THAN('2023-12-23')
);
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'INTERVAL(DAY, 1)
(
PARTITION p0 VALUES LESS THAN('2023-12-23')
)' at line 2
在polarDB-mysql 内核版本 8.0.1.1.38.2上执行文档示例。提示的错误怎么处理?
参考回答:
在polarDB-mysql 内核版本8.0.1.1.38.2上执行文档示例时,提示的错误可能是由于语法错误导致的。根据您提供的错误信息,问题出在INTERVAL(DAY, 1)
这部分。
为了解决这个问题,请检查您的SQL语句并确保它符合MySQL的语法规则。在这种情况下,您可能需要将INTERVAL(DAY, 1)
更改为INTERVAL 1 DAY
。以下是修改后的SQL语句:
ALTER TABLE t1 PARTITION BY RANGE COLUMNS(create_time) INTERVAL 1 DAY ( PARTITION p0 VALUES LESS THAN('2023-12-23') );
请注意,这只是一个可能的解决方案。如果您仍然遇到问题,请查阅polarDB-mysql的官方文档以获取更多关于语法和用法的信息。
关于本问题的更多回答可点击原文查看: