mysql 명령줄에 입력하고 다음 명령을 실행합니다.
mysql> show master status; +------------------+-----------+ | Log_name | File_size | +------------------+-----------+ | binlog.000001 | 967 | | binlog.000002 | 965 | +------------------+-----------+
일반적으로 최신 숫자가 더 크며, 위의 최신 숫자는 binlog.000002
시작 위치와 끝 위치를 결정하는 방법에는 두 가지가 있습니다. 하나는 시간을 시작과 끝으로 사용하는 것이고, 다른 하나는 로그의 위치를 다음과 같이 사용하는 것입니다. 시작 및 끝 위치
를 사용합니다. mysql-bin.000002 명령을 사용하여 로그 내용을 확인한 후 삭제 시점을 찾습니다.
# at 131708213 #210610 11:27:01 server id 1 end_log_pos 131708311 CRC32 0x0fc755e2 Table_map: `loongwind_base`.`xxxx` mapped to number 139 # at 131708311 #210610 11:27:01 server id 1 end_log_pos 131708411 CRC32 0xa91616b9 Write_rows: table id 139 flags: STMT_END_F BINLOG ' BffBYBMBAAAAYgAAAJe12QcAAIsAAAAAAAEADmR4bWhfYmFzZV9oenN5ABpkeF9zeV9hc3NldHNf ZXh0ZW5kc19jb3B5MQAICAgIDwgSCBIEAAgAAPgBAQACA/z/AOJVxw8= BffBYB4BAAAAZAAAAPu12QcAAIsAAAAAAAMAAgAI/wDRAwAAm1M8AUIAAADRUjwBCgAAAFYL5gAM AOWFrOWuieacuuWFs7EBAADbwZkAmama6E+xAQAA28GZAJmpmuhPuRYWqQ== '/*!*/;
그런 다음 삭제 시점을 확인합니다. 마지막 백업 로그를 통해 마지막 백업 시점을 찾을 수 없는 경우 메모리에서 이전 백업 시점보다 작다고 알고 있는 시점을 입력할 수 있습니다. 위치 범위
mysql -uroot -p'password' -e "show binlog events in 'binlog.000002'"|grep -i 'DROP TABLE'
실행 결과는 다음과 같습니다.
binlog.000002 820474948 Query 1 820475111 use `loongwind_ base`; * 서버에서 생성됨 */ /* xid=11790691 */즉, 삭제된 위치는 820474948
이거나 위의 명령을 통해 키워드를 교체하여 마지막 백업의 위치 지점을 찾습니다
3.
3.1 시간별 복원mysqlbinlog --no-defaults --database=loongwind_base --start-datetime="2021-06-07 09:00:00" --stop-datetime="2021-06-10 16:37:58" binlog.000005 | mysql -uroot -p'password' -s -N -f -D loongwind_base
mysqlbinlog --start-position=1178 --stop-position=2751 -d dxmh-sy binlog.000002|mysql -uroot -p'password' -s -N -f -D loongwind_base loongwind_base 为数据库名称
위 내용은 로그 파일을 통해 MySQL 데이터를 복원하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!