第一時間掛工單,聯系工程師指引,現在回過來想,第一時間要確認發生時間。
1.通過性能視圖(馬后炮的總結,實際憑記憶恢復了三四次才找到數據)
?2.先恢復數據
通過Navicat工具,結構同步,數據同步恢復數據保證
3.原因排查
下載對應的Binlog日志文件
找到一臺有mysql 5.7的庫(注意與阿里云mysql的版本一致的)
懷疑的日志文件
?參考指引
1.RDS MySQL實例實時生成本地日志(Binlog),當一個Binlog文件的大小超過 512 MB,或者寫入超過6小時時,系統會自動切換到下一個序號的Binlog文件并繼續寫入。 參考;查看或刪除MySQL本地日志(Binlog)_云數據庫 RDS(RDS)-阿里云幫助中心?2.或者可以看下數據追蹤,免費是近一個小時內可以追蹤(更長時間涉及其他付費管控模式),可以追蹤delete、update、insert 的語句的,drop沒法追蹤 數據追蹤_數據管理(DMS)-阿里云幫助中心
binlog轉sql的方法?
mysqlbinlog -vv --base64-output=decode-rows ats-mysql-bin.000872>000872.sql
?排查語句,搜索丟失的表名快速定位語句
?通過時間戳確定操作時間
4.其他問題
4.1執行binlog轉sql的時候提示錯誤unknown variable 'default-character-set=utf8' 或者unknown variable 'character-set-server=utf8'
找到my.ini配置文件把default-character-set=utf8和character-set-server=utf8都注釋掉,重啟mysql再進行操作
?4.2如何確定操作ip,操作賬號,操作人?
?基礎版本不支持后臺及時查看,需要升級高可用版本才行,配合信任ip可以減少非自主的操作
選擇升級到高可用版本,高可用可以開啟sql審計 升級高可用參考;基礎系列升級為高可用系列_云數據庫 RDS(RDS)-阿里云幫助中心 開啟sql審計參考:https://help.aliyun.com/zh/rds/apsaradb-rds-for-mysql/use-the-sql-explorer-and-audit-feature-on-an-apsaradb-rds-for-mysql-instance?spm=a2c4g.11186623.0.i10