crontab을 사용하여 Linux에서 MYSQL 데이터베이스를 정기적으로 백업하는 방법
아래 3단계만 따르시면 모든 것을 제어할 수 있습니다.
1단계: 서버에서 백업 디렉터리 코드 구성:
mkdir /var/lib/mysqlbackup cd /var/lib/mysqlbackup
로그인 후 복사
2단계: 백업 스크립트 코드 작성:
vi dbbackup.sh 粘帖以下代码,务必更改其中的username,password和dbname。 #!/bin/sh mysqldump -uuser -ppassword dbname | gzip > /var/lib/mysqlbackup/dbnamedate +%Y-%m-%d_%H%M%S.sql.gz cd /var/lib/mysqlbackup rm -rf find . -name '*.sql.gz' -mtime 10 #删除10天前的备份文件
로그인 후 복사
3단계: 백업 스크립트 권한 변경
chmod +x dbbackup.sh
로그인 후 복사
4단계: crontab을 사용하여 정기적으로 백업 스크립트 코드 실행 :
crontab -e
로그인 후 복사
매일 밤 21시에 백업하는 경우 다음 코드를 추가하세요.
00 21 * /var/lib/mysqlbackup/dbbackup.sh
로그인 후 복사
발생할 문제:
1.mysqldump는 데이터베이스를 백업하는 명령입니다. 바이두.
2. Crontab은 예약된 작업을 위한 명령입니다. 이해가 안 되시면 http://www.thinkphp.cn/code/1...
3. 데이터를 백업하실 때 꼭 확인하세요. 루트에 대한 비밀번호를 설정했습니다. 그렇지 않으면 실행 시 mysqldump 오류가 발생합니다: 1045: 연결을 시도할 때 사용자 'root'@'localhost'(비밀번호 사용: YES)에 대한 액세스가 거부되었습니다. 해결 방법:
mysql 클라이언트에 로그인
mysql -hserverip -uroot -p mysql> use mysql; Database changed mysql> update user set password=password('new password') where user='root'; Query OK, 4 rows affected (0.00 sec) Rows matched: 4 Changed: 4 Warnings: 0 mysql> flush privileges; Query OK, 0 rows affected (0.00 sec) //这个命令是给用户赋予了新的权限或者密码,直接读到内存中不需要重启数据库防止出错 mysql> quit
로그인 후 복사
권장 학습: "
linux 비디오 튜토리얼