집 >데이터 베이스 >MySQL 튜토리얼 >슬픈 이야기, 온라인 데이터베이스가 실수로 삭제되었을 때
관련 학습 권장 사항: mysql tutorial
최근 개학 시즌부터 저희 회사는 대학 관련 사업을 하고 있어서 꽤 바쁘고 시간이 많지 않습니다. 일단 너무 바쁘면 기사를 쓰세요. 바쁘면 실수하기 쉽습니다. 저는 불과 며칠 전, 아니, 제 친구가 며칠 전 온라인 데이터베이스를 운영하던 중 데이터베이스를 삭제할 뻔하고 도망갈 뻔했습니다. ㅋㅋㅋ > . 사실은 내가 아니라 내 친구야. 사실은 내가 아니라 내 친구야. 다만, 이하에서는 서술의 편의를 위해 '내 친구'를 '나'로 표기하겠습니다.
다행히도 몇 가지 데이터베이스 복구 솔루션을 보았고 여전히 이에 대해 조금 알고 있습니다.
데이터 복구
binlog 로그를 사용하려면 먼저 binlog 로그가 켜져 있는지 확인해야 합니다.show variables like 'log_%';复制代码
ON 상태인 것을 볼 수 있는데, OFF 상태라면 my.cnf에서
뒤에 구성을 추가하고 mysql 서비스를 재시작하면 됩니다. 그것을.# 查看binlog日志的目录show master status;复制代码
[mysqld]
# 查看binlog日志内容show binlog events IN 'mysql-bin.000002';复制代码Pos는 pos의 시작점을 나타냅니다.
# 进入存储binlog日志的文件木了,可以通过这条命令查看详情 mysqlbinlog --base64-output=decode-rows -v mysql-bin.000002;复制代码
# 将binlog日志转为txt导出 mysqlbinlog --base64-output=decode-rows -v mysql-bin.000002 > sql.txt复制代码3. 데이터 복원 단, binlog 로그의 크기와 저장 시간은 mysql에서 설정할 수 있습니다. 그러나 아무것도 손실되지 않도록 매일 백업하는 것이 좋습니다.
# 设置文件大小,单位是字节,下面换算是100Mset global max_binlog_size=104857600; # 设置文件保存天数,下面是保存7天,默认值为0,表示"没有自动删除"set global expire_logs_days = 7;复制代码
对于线上环境来说,做好每日备份和binlog一起用才是王道。线上一般都是部署在linux上的,所以这里就简单列一下linux的定时备份方法。
yum install crontabs复制代码
/var/spool/cron/root 此文件为crontab定时任务,可通过crontab -e
或者直接修改此文件修改.
crontab -l
查看定时任务.
touch xxx.sh
mysqldump -uroot -p"密码" 数据库名 > /mysql/person_`date +%Y%m%d`.sql复制代码
chmod 777 xxx.sh
crontab -e
每天凌晨2点执行 00 2 * * * /xxx.sh复制代码
完结!
想了解更多编程学习,敬请关注php培训栏目!
위 내용은 슬픈 이야기, 온라인 데이터베이스가 실수로 삭제되었을 때의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!