查看“通过二进制日志进行时点恢复”的源代码
←
通过二进制日志进行时点恢复
跳到导航
跳到搜索
因为以下原因,您没有权限编辑本页:
您请求的操作仅限属于该用户组的用户执行:
用户
您可以查看和复制此页面的源代码。
本节介绍了使用二进制日志执行时点恢复的一般思路。 注意 使用mysql客户端来处理由mysqlbinlog生成的二进制日志输出。如果你的二进制日志包含\0(空字符),那么除非你使用--binary-mode选项调用mysql,否则无法解析该输出。 时点恢复的信息来源是在完全备份操作之后生成的一组二进制日志文件。因此,要允许将服务器恢复到某个时点,必须在服务器上启用二进制日志记录,这是MySQL 8.0的默认设置。 要从二进制日志恢复数据,您必须了解当前二进制日志文件的名称和位置。默认情况下,服务器在数据目录中创建二进制日志文件,但可以使用--log-bin选项指定路径名以将文件放在其他位置。要查看所有二进制日志文件的列表,请使用以下语句: mysql> SHOW BINARY LOGS; 要确定当前二进制日志文件的名称,请执行以下语句: mysql> SHOW MASTER STATUS; mysqlbinlog实用程序将二进制日志文件中的事件从二进制格式转换为文本,以便查看或应用。mysqlbinlog提供了根据事件时间或事件在日志中的位置选择二进制日志部分的选项。 将二进制日志中的事件应用于数据修改,使其重新执行。这样可以在特定时间范围内恢复数据更改。要应用二进制日志中的事件,请使用mysql客户端处理mysqlbinlog的输出: $> mysqlbinlog binlog_files | mysql -u root -p 如果二进制日志文件已加密(从MySQL 8.0.14开始支持),mysqlbinlog无法像上面的示例那样直接读取它们,但可以使用--read-from-remote-server (-R)选项从服务器读取它们。例如: $> mysqlbinlog --read-from-remote-server --host=host_name --port=3306 --user=root --password --ssl-mode=required binlog_files | mysql -u root -p 这里,选项--ssl-mode=required 被用来确保二进制日志文件的数据在传输过程中受到保护,因为它以未加密的格式发送给mysqlbinlog。 重要提示:VERIFY_CA和VERIFY_IDENTITY比REQUIRED更好,因为它们有助于防止中间人攻击。要实施这些设置,您必须首先确保服务器的CA证书可靠地提供给您环境中使用它的所有客户端,否则可能会导致可用性问题。 查看日志内容在需要确定事件时间或位置以选择执行事件之前的部分日志内容时非常有用。要查看日志中的事件,请将mysqlbinlog输出发送到分页程序: $> mysqlbinlog binlog_files | more 或者,将输出保存到文件中,并在文本编辑器中查看该文件: $> mysqlbinlog binlog_files > tmpfile $> ... edit tmpfile ... 编辑文件后,按如下方式应用其内容: $> mysql -u root -p < tmpfile 如果要在MySQL服务器上应用多个二进制日志,请使用单个连接来应用要处理的所有二进制日志文件的内容。以下是一种方法: $> mysqlbinlog binlog.000001 binlog.000002 | mysql -u root -p 另一种方法是将整个日志写入单个文件,然后处理该文件: $> mysqlbinlog binlog.000001 > /tmp/statements.sql $> mysqlbinlog binlog.000002 >> /tmp/statements.sql $> mysql -u root -p -e "source /tmp/statements.sql"
返回至“
通过二进制日志进行时点恢复
”。
导航菜单
个人工具
登录
命名空间
页面
讨论
大陆简体
查看
阅读
查看源代码
查看历史
更多
搜索
导航
首页
基础知识
正则表达式
Markdown
分布式
项目管理
系统集成项目管理基础知识
云原生
Docker
云原生安全
云原生词汇表
十二因素应用
Kubernetes
音频处理
音频合成
Edge-tts
CMS系统
Docsify
VuePress
Mediawiki
自动生成
Marp
CI/CD
GitLab
设计
颜色
平面设计
AI
数字人
操作系统
GNU/Linux
数据库
Mysql
工具
链入页面
相关更改
特殊页面
页面信息