在Kubernetes中运行了一个mariadb 10.7版本的示例。
最近log-bin被添加到server.cnf
中。
恢复脚本停止对不在binlog_do_db中的任何数据库工作,没有错误。
问题似乎与以下方面有关:SET UNIQUE_CHECKS=0;SET FOREIGN_KEY_CHECKS=0;
的值。
此外,mariadb日志不包含与恢复相关的错误或消息。
任何想法非常赞赏。
- 谢谢-谢谢
- 服务器.cnf*
[mariadb]
log-bin
server_id=1
log-basename=1
binlog-format=mixed
binlog_do_db=db1
binlog_do_db=db2
字符串
- example.sql*
DROP DATABASE if EXISTS test;
CREATE DATABASE test;
USE test;
CREATE TABLE IF NOT EXISTS `test` (
`test` INT(11) NULL DEFAULT NULL
);
SET UNIQUE_CHECKS=0;
SET FOREIGN_KEY_CHECKS=0;
INSERT INTO test VALUES (1);
SET FOREIGN_KEY_CHECKS=1;
SET UNIQUE_CHECKS=1;
SELECT * FROM test;
-- if binlog_do_db contains test (or log-bin is not used), the insert works.
-- if log-bin is used and binlog_do_db doesn't contain test, the insert will silently fail.
型
编辑:添加了mariadb版本10.7。与10.8-rc相同的问题
1条答案
按热度按时间cyej8jka1#
我知道这是一个老帖子,但我在MariaDB 10.11.4上遇到了这个问题。
我创建了DB表,但没有加载数据。
如果我将DB添加到binlog-do-db列表中,它将恢复tables + data。
奇怪的是,我在另一台服务器(MariaDB 10.11.4)上有一个几乎完全相同的设置,它在所有DB上都关闭了binlog,而且它是成功的。
有人知道问题出在哪吗?如果我把线拿掉
SET @OLD_UNIQUE_CHECKS=@@UNIQUE_CHECKS,UNIQUE_CHECKS=0
从转储文件,一切正常。
编辑:我在MariaDB Jira网站上找到了this bug