第 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 保留不足导致时间点恢复断链。
复盘时请附上版本、隔离级别、执行计划或恢复位置中的相关证据;没有证据的“看起来正确”不算完成。