[Mysql数据库] 知识点总结7
1. 使用 mysqlbackup 进行恢复时,copy-back 命令执行了哪些操作?
答:copy-back 命令会将数据文件、日志和其它备份文件从备份目录复制到其原始位置,并执行任何所 需的后续处理。
2. mysqldump 和 mysqlpump 实用程序在功能上有哪些相同和不同的地方?
答:二者都能用来执行逻辑备份,将所有数据库、特定数据库或特定表转储到文本文件,可移植,独 立于存储引擎,是很好的复制/移动策略,适合小型导出,但不是完整的备份解决方案。
相比于 mysqldump,mysqlpump 可并行执行,提供了更好的性能,以 CREATE USER/GRANT 语句而不是使用 INSERT 语句将用户转储到 mysql 系统数据库中,更安全。
3. 原始二进制备份在什么条件下是可以跨平台进行移植的?
答:源系统和目标系统上的数据库目录名称必须相同。
4. 请说明使用可移动表空间进行备份的优势?
答:可执行部分数据库备份;不需要在另一台服务器中加载这些表;可以按表或功能来还原部分备份。
5. 备份数据库时,为什么要同时备份日志和状态文件?
答:二进制日志和状态文件在使用备份恢复时对于保证数据库的一致性都是必须的。
6. 什么是时间点恢复,在 MySQL 中如何使用时间点恢复功能?
答:时间点恢复也叫不完全恢复,是将数据库恢复到请求恢复操作之前指定的过去时间点的恢复操作。 首先还原备份,然后使用 mysqlbinlog 将二进制日志应用到还原过的备份中,将数据库前滚到 所需要的时间点。
7. 什么是 MySQL 的复制技术,在生产上有哪些典型应用案例?
答:使用复制可以将将更改从一个实例复制到另一个实例。主服务器(master)将所有数据和结构更 改记录到二进制日志中,从属服务器(slave)请求主服务器(master)的二进制日志并在本地应 用所有接收事,实行主从服务器的数据同步。
复制技术的典型应用有水平横向扩展,商业智能和分析,地理数据分布,高可用性等。
8. 相对于坐标位置,使用 GTID 配置复制时都具备哪些优势?
答:使用 GTID(全局事务标识符)可以唯一标识复制拓扑中的每个事务。 每个 GTID 的格式为 :,例如: 0ed18583-47fd-11e2-92f3-0019b944b7f7:338
由于 GTID 记录了每个修改性事务执行的日志 id 和发生本次更改所在的服务器 UUDI,因此在主 服务器发生故障时,复制链中的每个从属服务器都能精准确定每一个事务的详细信息,从而在故 障修复时能确保数据库的完整性和数据的一致性,特别是对于复杂复制拓扑系统更是如此。
9. 在对复制使用过滤规则时,给出你所知道的方法并说明各自的适用场合。
答:复制的过滤规则可以控制复制范围,过滤规则在主服务器和从属服务器上都可以设置。
在主服务器上设置使用 binlog-* 过滤器,以控制二进制日志的写入。
在从属服务器上使用 replicate-* 过滤器,以控制二进制日志的读取。
当数据库环境中的不同服务器用于不同目的时,就可以考虑使用过滤规则。
10. 二进制日志有哪几种记录格式,请详细加以说明。
答:有三种,分别是基于行(默认)、基于语句以及混合记录格式。
- 基于行的二进制日志:记录对单个表行的更改,始终能正确重放语句,包括 CURRENT_USER()。
- 基于语句的二进制日志:包含实际的 SQL 语句(DDL,DML),日志文件较小,可用于审计,但 不能保证非确定性语句在远程机器上的正确重放。
- 混合格式二进制日志:默认情况下使用基于语句的日志记录,但当语句不确定时会自动使用基 于行的日志记录:如调用 UUID(),USER(),FOUND_ROWS(),ROWS_COUNT() 或任何用户定 义的函数。
11. 请说明在复制拓扑中,中继日志集和从属服务器状态日志的作用。
答:中继日志用来保存从主服务器接收的二进制日志,与二进制日志相同的格式存储,由服务器自动 管理,在其内容全部重放后会自动删除。
从属服务器状态日志存储关于如何连接到主服务器的信息以及主服务器的二进制日志和从属服 务器的中继日志的最近复制的日志坐标信息。
中继日志集和从属服务器状态日志对于保证数据库复制时的数据一致性非常重要。
12. 使用日志坐标进行故障转移与使用 GTID 进行故障转移时各自有哪些注意事项?
答:使用日志坐标执行故障转移时,如果新主服务器位于特定从属服务器后面(即,如果该从属服务 器已经应用了该新主服务器的日志末尾的事件),则该从属服务器会重复那些事件。如果新主服 务器在特定从属服务器的前面(即,如果该新主服务器的二进制日志包含该从属服务器尚未应用 的事件),该从属服务器将跳过那些事件。这些情况都应该谨慎处理以防止数据的不一致。
虽然 GTID 可以防止源自单个服务器上的事件重复,但是在复杂拓扑比如循环和多源拓扑中, GTID 不会防止源自不同服务器上的冲突操作,因此,在故障转移后将应用程序重新连接到服务 器时,必须小心检查,不要产生此类冲突。