Navicat——如何查看历史日志

navicat一直用,但是都没怎么好好了解过这个它。今日正好闲下来,就对各个功能都试了试。

这里记录一下在Navicat如何查看Mysql的操作记录。

其实方法很简单,连接一个库,用快捷键Ctrl+H就好了。

你瞧,这历史日志就出来了。
如果快捷键有冲突的话,那么就点击左上角的【工具】,选择历史日志选项,也是一样的。

如果大家有什么误操作,那么就可以直接在这里直接进日志看看咯。

 

### 使用 Navicat Premium 15 恢复 MySQL 数据库中误删除的数据 #### 停止 MySQL 服务 为了最大限度减少数据丢失的风险,在发现误删之后应当立即停止 MySQL 服务。这可以防止新的事务日志被创建并覆盖旧的日志条目。 ```bash sudo systemctl stop mysql.service ``` #### 备份现有数据文件 在尝试任何恢复操作前,建议先备份现有的数据库文件夹以防万一。如果 `innodb_file_per_table` 设置为 ON,则每个 InnoDB 表都有独立的 .ibd 文件;如果是 OFF,则所有表共享同一个 ibdata1 文件[^2]。 对于开启了 `innodb_file_per_table` 的情况: ```bash cp -r /var/lib/mysql/*_table.ibd ~/backup/ ``` 而对于未开启的情况则需复制整个 `/var/lib/mysql/` 目录下的内容作为备份。 #### 利用二进制日志 (Binlog) 进行时间点恢复 如果启用了 Binlog 功能,并且有足够的历史记录来捕捉到删除事件之前的更改,那么可以通过解析这些日志来进行精确的时间点恢复。使用 Python 工具如 binlog2sql 来生成回滚 SQL 脚本是一个不错的选择[^4]: 安装依赖项: ```bash pip install pymysql==0.7.9 git clone https://github.com/danfengcui/binlog2sql.git cd binlog2sql ``` 执行命令转换 binlog 至可逆向应用的 SQL 语句: ```bash python binlog2sql/binlog2sql.py \ -h localhost \ # 主机地址 -P 3306 \ # 端口号 -u root \ # 用户名 -p'password' \ # 密码 -d database_name \ # 需要处理的目标数据库名称 -t table_deleted \ # 删除了哪张表 --start-file='binlog_filename' \ # 开始读取哪个 binlog 文件 --start-position=start_position_value \ # 日志中的起始位置 --stop-position=end_position_value \ # 结束的位置 -B > rollback.sql # 输出至指定路径下的 sql 文件 ``` 上述脚本会根据给定参数构建出能够撤销特定范围内变更的操作指令集合——即所谓的 "undo log" 或者说是反向 DML(DCL/DQL),从而允许管理员通过导入此文件的方式撤消错误动作的影响。 #### 应用自动生成的回滚脚本 一旦获得了合适的回滚 SQL 文件,就可以将其应用于目标实例以完成实际的数据恢复过程。在此之前记得重启 MySQL 并设置其处于单用户模式或只读状态以免再次遭受意外修改干扰。 ```sql SET SESSION TRANSACTION ISOLATION LEVEL REPEATABLE READ; SOURCE /path/to/generated/rollback.sql ; COMMIT; ``` 最后一步就是验证所做的一切是否成功挽回损失的信息资源了! ---
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值