So verwenden Sie crontab, um die MYSQL-Datenbank regelmäßig unter Linux zu sichern
Befolgen Sie einfach die folgenden 3 Schritte, alles liegt unter Ihrer Kontrolle:
Schritt 1: Konfigurieren Sie den Sicherungsverzeichniscode auf dem Server:
mkdir /var/lib/mysqlbackup cd /var/lib/mysqlbackup
Schritt 2: Schreiben Sie den Sicherungsskriptcode:
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天前的备份文件
Schritt 3: Ändern Sie die Sicherungsskriptberechtigung
chmod +x dbbackup.sh
Schritt 4: Verwenden Sie crontab, um den Sicherungsskriptcode regelmäßig auszuführen :
crontab -e
Wenn Sie jeden Abend um 21:00 Uhr ein Backup erstellen, fügen Sie den folgenden Code hinzu:
00 21 * /var/lib/mysqlbackup/dbbackup.sh
Probleme, auf die Sie stoßen werden:
1.mysqldump ist der Befehl zum Sichern der Datenbank. Wenn Sie es nicht verstehen, einfach Baidu.
2. Crontab ist ein Befehl für geplante Aufgaben, Sie können http://www.thinkphp.cn/code/1 besuchen.
3 Beim Sichern von Daten müssen Sie zuerst sicherstellen Sie haben ein Passwort für root festgelegt, andernfalls wird bei der Ausführung von mysqldump der Fehler 1045: Zugriff verweigert für Benutzer 'root'@'localhost' (mit Passwort: JA) beim Verbindungsversuch angezeigt
Lösung:
Melden Sie sich beim MySQL-Client an
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