sqlite3数据备份

  1. 直接复制文件备份。
  2. backup备份。

    # 数据备份
    sqlite3 xx.db
    .backup xx_back.db
    .exit
    
    # 数据恢复
    sqlite3 xx.db
    .restore xx_back.db

    3.dump备份sql。

    # 数据备份
    sqlite3 xx.db .dump > xx_back.sql
    
    # 数据恢复
    sqlite3 xx.db < xx_back.sql

mysql备份

  1. 物理冷备

    # 数据备份
    systemctl stop mysqld
    mkdir /backup
    tar zcvf /backup/mysql-all.tar.gz /usr/local/mysql/data/
    
    # 数据恢复
    mkdir /bak
    mv /usr/local/mysql/data/ /bak/
    mkdir restore
    tar zxvf /backup/mysql-all.tar.gz -C restore/
    mv restore/usr/local/mysql/data/ /usr/local/mysql/
    systemctl start mysqld
  2. mysqldump备份

    # 数据备份
    mysqldump -u root -p pass --all-databases > /backup/back.sql
    
    # 数据恢复
    # 方法一:
    登录数据库
    source /backup/back.sql;
    # 方法二:
    mysql -uroot -p123456 < /backup/back.sql

PostgreSQL备份

  1. 单个数据库备份

    # 数据备份
    pg_dump -U username -d database_name -F p -f /backup/back.sql
    
    #数据还原
    psql -U username -d new_database_name -f /backup/backup.sql
  2. 备份所有数据库

    # 数据备份
    pg_dumpall -U username -f /backup/backup_all.sql
    
    # 数据还原
    psql -U username -f /backup/backup_all.sql
  3. 物理备份

    # 数据备份
    pg_basebackup -U replication_user -D /backup/pgdata/ -Fp -Xs -P
    
    # 数据还原
    systemctl stop postgresql
    cp -r /backup/pgdata/* /var/lib/pgsql/data/
    systemctl start postgresql