我计划从
升级
10.1.2
到
10.11.6
并且使用测试数据库进行升级显示成功。
但我想检查是否有任何差异并尝试过:
mysqldump
mysqldump --no-data
的差异(仅结构)CHECKSUM TABLE
升级前后。
mysqldump 没有任何意义。太大,转储格式在更高版本上会发生变化(换行符等)。
只有转储的结构才有意义。
我可以看到一些很高兴知道的变化:
例子:
-) ENGINE=InnoDB AUTO_INCREMENT=852701 DEFAULT CHARSET=utf8;
+) ENGINE=InnoDB AUTO_INCREMENT=852701 DEFAULT CHARSET=utf8mb3 COLLATE=utf8mb3_general_ci;
- `breakpoint` tinyint(1) NOT NULL DEFAULT '0',
+ `breakpoint` tinyint(1) NOT NULL DEFAULT 0,
SELECT table_schema as `Database`,
table_name AS `Table`,
round(((data_length + index_length) / 1024 / 1024), 2) `Size in MB`,
round((data_length / 1024 / 1024), 2) `Data in MB`,
round((index_length / 1024 / 1024), 2) `Index in MB`
FROM information_schema.TABLES
WHERE information_schema.TABLES.TABLE_SCHEMA = DATABASE()
ORDER BY (data_length + index_length) DESC, `Table` ASC;
CHECKSUM TABLE
有效,但某些表上的校验和不同。我猜这是因为结构变化 - 所有具有结构变化的表都有不同的校验和。这就是我在这里的原因。 升级后如何查看数据
和|或者|我真的可以吗?
您可以针对旧数据尝试较新的 MariaDB 的
mariadb-dump
。它未经测试,但将与新产品线保持一致,并且差异可能较小。
mariadb-check --extended
是确保所有桌子都处于良好状态的一种方法。
pt-table-sync --dry-run我们可以通过在线比较新旧数据库来验证数据一致性吗?