Maison > Opération et maintenance > exploitation et maintenance Linux > Comment sauvegarder et restaurer une base de données sous Linux

Comment sauvegarder et restaurer une base de données sous Linux

PHPz
Libérer: 2023-07-05 12:04:43
original
4293 Les gens l'ont consulté

Comment sauvegarder et restaurer une base de données sous Linux

Dans le système d'exploitation Linux, la sauvegarde et la restauration de la base de données sont une tâche très importante. Que ce soit pour éviter des pertes de données ou pour migrer une base de données, vous devez maîtriser cette compétence. Cet article explique comment sauvegarder et restaurer des bases de données sous Linux et fournit des exemples de code correspondants.

1. Sauvegardez la base de données

  1. Utilisez la commande mysqldump pour sauvegarder la base de données MySQL

MySQL est un système de gestion de base de données relationnelle open source Vous pouvez utiliser la commande mysqldump pour sauvegarder la base de données MySQL. Comme indiqué ci-dessous :

mysqldump -u <username> -p<password> <database_name> > <backup_file.sql>
Copier après la connexion

Où, <username> est le nom d'utilisateur de la base de données, <password> est le mot de passe de la base de données, < database_name>< /code> est le nom de la base de données à sauvegarder, <code><backup_file.sql> est le chemin et le nom du fichier de sauvegarde. Par exemple, pour sauvegarder la base de données nommée "mydb", vous pouvez exécuter la commande suivante : <username>是数据库的用户名,<password>是数据库的密码,<database_name>是要备份的数据库名称,<backup_file.sql>是备份文件的路径及文件名。例如,要备份名为"mydb"的数据库,可以执行以下命令:

mysqldump -u root -p123456 mydb > /backup/mydb_backup.sql
Copier après la connexion
  1. 使用pg_dump命令备份PostgreSQL数据库

类似地,备份PostgreSQL数据库可以使用pg_dump命令。如下所示:

pg_dump -U <username> -W -Ft <database_name> -f <backup_file.tar>
Copier après la connexion

其中,<username>是数据库的用户名,<database_name>是要备份的数据库名称,<backup_file.tar>是备份文件的路径及文件名。例如,要备份名为"mydb"的数据库,可以执行以下命令:

pg_dump -U postgres -W -Ft mydb -f /backup/mydb_backup.tar
Copier après la connexion

二、还原数据库

  1. 还原MySQL数据库

要还原MySQL数据库,可以使用以下命令:

mysql -u <username> -p<password> <database_name> < <backup_file.sql>
Copier après la connexion

其中,<username>是数据库的用户名,<password>是数据库的密码,<database_name>是要还原的数据库名称,<backup_file.sql>是备份文件的路径及文件名。例如,要将备份文件"mydb_backup.sql"还原到名为"mydb"的数据库中,可以执行以下命令:

mysql -u root -p123456 mydb < /backup/mydb_backup.sql
Copier après la connexion
  1. 还原PostgreSQL数据库

要还原PostgreSQL数据库,可以使用以下命令:

pg_restore -U <username> -d <database_name> <backup_file.tar>
Copier après la connexion

其中,<username>是数据库的用户名,<database_name>是要还原的数据库名称,<backup_file.tar>

pg_restore -U postgres -d mydb /backup/mydb_backup.tar
Copier après la connexion

    Utilisez la commande pg_dump pour sauvegarder la base de données PostgreSQL

    De même, vous pouvez utiliser le Commande pg_dump pour sauvegarder la base de données PostgreSQL. Comme indiqué ci-dessous :

    #!/bin/bash
    
    #数据库备份路径
    backup_dir="/backup"
    #数据库用户名
    username="root"
    #数据库密码
    password="123456"
    #需要备份的数据库名称
    database_name="mydb"
    #备份文件名
    backup_file="${backup_dir}/${database_name}_backup_$(date +%Y%m%d%H%M%S).sql"
    
    #执行备份命令
    mysqldump -u ${username} -p${password} ${database_name} > ${backup_file}
    
    #删除过期备份(保留最近7天的备份)
    find ${backup_dir} -name "${database_name}_backup_*" -type f -mtime +7 -exec rm -f {} ;
    Copier après la connexion

    Où, <username> est le nom d'utilisateur de la base de données, <database_name> est le nom de la base de données à sauvegarder, <backup_file .tar> est le chemin et le nom du fichier de sauvegarde. Par exemple, pour sauvegarder la base de données nommée « mydb », vous pouvez exécuter la commande suivante :

    crontab -e
    Copier après la connexion

    2. Restaurer la base de données

    Restaurer la base de données MySQL

    Pour restaurer la base de données MySQL, vous pouvez utiliser la commande suivante :

    0 2 * * * /bin/bash /path/to/backup.sh
    Copier après la connexion

    Où, <username> est le nom d'utilisateur de la base de données, <password> est le mot de passe de la base de données, <database_name> code> est le nom de la base de données à restaurer, <backup_file.sql> est le chemin et le nom du fichier de sauvegarde. Par exemple, pour restaurer le fichier de sauvegarde "mydb_backup.sql" dans la base de données nommée "mydb", vous pouvez exécuter la commande suivante :

    rrreee
      🎜Restaurer la base de données PostgreSQL 🎜🎜🎜Pour restaurer PostgreSQL base de données, vous pouvez utiliser la commande suivante : 🎜rrreee🎜où, <username> est le nom d'utilisateur de la base de données, <database_name> est le nom de la base de données à être restauré, <backup_file .tar> est le chemin et le nom du fichier de sauvegarde. Par exemple, pour restaurer le fichier de sauvegarde « mydb_backup.tar » dans la base de données nommée « mydb », vous pouvez exécuter la commande suivante : 🎜rrreee🎜 3. Sauvegardez régulièrement la base de données 🎜🎜 Sauvegarder régulièrement la base de données peut garantir la sécurité et l'intégrité des données. En écrivant des scripts Shell et en utilisant des tâches planifiées crontab, vous pouvez sauvegarder automatiquement la base de données. 🎜🎜Voici un exemple de script de sauvegarde simple : 🎜rrreee🎜Enregistrez le script ci-dessus sous backup.sh et ajoutez des autorisations exécutables. 🎜🎜Ensuite, utilisez crontab pour ajouter une tâche planifiée : 🎜rrreee🎜Dans le fichier ouvert, ajoutez le contenu suivant pour indiquer que la tâche de sauvegarde sera exécutée à 2 heures du matin tous les jours : 🎜rrreee🎜Enregistrez et quittez. 🎜🎜Avec les méthodes ci-dessus, vous pouvez facilement sauvegarder et restaurer la base de données sous Linux et effectuer régulièrement des tâches de sauvegarde. Assurer la sécurité et l'intégrité de la base de données est l'une des mesures importantes pour garantir que les données ne soient pas perdues. 🎜

    Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Étiquettes associées:
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
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal