Comment utiliser crontab pour sauvegarder régulièrement la base de données MYSQL sous Linux
Suivez simplement les 3 étapes suivantes, tout est sous votre contrôle :
Étape 1 : Configurez le code du répertoire de sauvegarde sur le serveur :
mkdir /var/lib/mysqlbackup cd /var/lib/mysqlbackup
Étape 2 : Écrivez le code du script de sauvegarde :
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天前的备份文件
Étape 3 : Modifiez l'autorisation du script de sauvegarde
chmod +x dbbackup.sh
Étape 4 : Utilisez crontab pour exécuter régulièrement le code du script de sauvegarde :
crontab -e
Si vous sauvegardez à 21h00 tous les soirs, ajoutez le code suivant
00 21 * /var/lib/mysqlbackup/dbbackup.sh
Problèmes que vous rencontrerez :
1.mysqldump est la commande pour sauvegarder la base de données. Si vous ne comprenez pas, juste. Baidu.
2. Crontab est une commande pour les tâches planifiées. Si vous ne comprenez pas, vous pouvez visiter http://www.thinkphp.cn/code/1...
3. Lors de la sauvegarde des données, vous devez d'abord vous en assurer. vous avez défini un mot de passe pour root, sinon mysqldump sera signalé. Erreur lors de l'exécution : 1045 : Accès refusé pour l'utilisateur 'root'@'localhost' (en utilisant le mot de passe : OUI) lors de la tentative de connexion
Solution :
Connectez-vous au client 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