Skip to content

第 11 站练习答案 ​

← 本站索引

权限负例 ​

以 course_reader 登录后:

sql
SELECT COUNT(*) FROM mysql_course.sales_order;
UPDATE mysql_course.sales_order
SET status = 'cancelled'
WHERE order_id = 1;

SELECT 应成功,UPDATE 应因权限不足失败。若两者都成功,检查实际匹配的 user@host 和角色。

恢复校验 ​

sql
SELECT TABLE_NAME, TABLE_ROWS
FROM information_schema.TABLES
WHERE TABLE_SCHEMA = 'mysql_course';

SELECT COUNT(*) AS orders, COALESCE(SUM(total_amount), 0) AS amount
FROM mysql_course.sales_order;

TABLE_ROWS 对 InnoDB 可能是估算,关键业务校验要使用精确查询、约束检查和预先保存的汇总或校验值。

PITR 应记录备份时点、binlog 文件/GTID 集、目标时间、重放命令、跳过的破坏性事件、验证和回切步骤。

加码题解:权限与 PITR ​

sql
SHOW GRANTS FOR 'report_reader'@'10.%';

关键推理 ​

权限基线可审计;恢复链需要备份、binlog、时间点和校验四份证据。

可替代方案 ​

使用角色统一授权,备份副本与生产凭据分离。

典型错误 ​

备份文件存在却从未恢复,或 binlog 保留不足导致时间点恢复断链。

复盘时请附上版本、隔离级别、执行计划或恢复位置中的相关证据;没有证据的“看起来正确”不算完成。

用心记录每一步成长