你知道Linux下怎么定时备份数据库吗?

藏色散人
풀어 주다: 2021-09-14 15:41:16
앞으로
1951명이 탐색했습니다.

下面由linux系统教程栏目给大家介绍Linux下定时备份数据库方法,希望对需要的朋友有所帮助!

你知道Linux下怎么定时备份数据库吗?

linux下使用crontab定时备份MYSQL数据库的方法

只需按照下面3步做,一切都在你的掌控之下:

第一步:在服务器上配置备份目录代码:

 mkdir /var/lib/mysqlbackup 
 cd /var/lib/mysqlbackup
로그인 후 복사

第二步:编写备份脚本代码:

 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天前的备份文件
로그인 후 복사

第三步:更改备份脚本权限

 chmod +x dbbackup.sh
로그인 후 복사

第四步:用crontab定时执行备份脚本代码:

crontab -e
로그인 후 복사

若每天晚上21点00备份,添加如下代码

00 21 * /var/lib/mysqlbackup/dbbackup.sh
로그인 후 복사

会遇到的问题:
1.mysqldump 是备份数据库的命令,不懂直接百度就好。
2.Crontab 是定时任务的命令,如果不懂可以访问http://www.thinkphp.cn/code/1...
3.备份数据首先要确定已经给root设置了密码,否则会报mysqldump执行时Got error: 1045: Access denied for user ‘root’@’localhost’ (using password: YES) when trying to connect

解决办法:

登录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视频教程

위 내용은 你知道Linux下怎么定时备份数据库吗?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

관련 라벨:
원천:segmentfault.com
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿
회사 소개 부인 성명 Sitemap
PHP 중국어 웹사이트:공공복지 온라인 PHP 교육,PHP 학습자의 빠른 성장을 도와주세요!