Maison > php教程 > php手册 > le corps du texte

Linux下定时备份数据库

WBOY
Libérer: 2016-06-07 11:39:07
original
1068 Les gens l'ont consulté

linux下使用crontab定时备份MYSQL数据库的方法
只需按照下面3步做,一切都在你的掌控之下:

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

-------------------------------------------------------------------------------- mkdir /var/lib/mysqlbackup <br> <br> cd /var/lib/mysqlbackup<br> <br>  --------------------------------------------------------------------------------

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

-------------------------------------------------------------------------------- vi dbbackup.sh --------------------------------------------------------------------------------

粘帖以下代码,务必更改其中的username,password和dbname。

代码:

-------------------------------------------------------------------------------- #!/bin/sh<br> <br> mysqldump -uuser -ppassword dbname | gzip > /var/lib/mysqlbackup/dbname`date +%Y-%m-%d_%H%M%S`.sql.gz<br> <br> cd  /var/lib/mysqlbackup<br> <br> 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/1003.html

3.备份数据首先要确定已经给root设置了密码,否则会报mysqldump执行时Got error: 1045: Access denied for user 'root'@'localhost' (using password: YES) when trying to connect
解决办法:登录mysql客户端<br> <br> mysql -hserverip -uroot -p<br> mysql> use mysql; Database changed<br> 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<br> mysql> flush privileges; Query OK, 0 rows affected (0.00 sec) //这个命令是给用户赋予了新的权限或者密码,直接读到内存中不需要重启数据库防止出错<br> mysql> quit

AD:真正免费,域名+虚机+企业邮箱=0元

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Recommandations populaires
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!