ubuntu中clickhouse备份并到另外一台机器恢复 及Mysql备份 及docker中Mongo密码重置

196 阅读1分钟

clickhouse迁移

1.wget github.com/Altinity/cl…
2.dpkg -i clickhouse-backup_2.4.2_amd64.deb
3.mv /etc/clickhouse-backup/config.yml.example /etc/clickhouse-backup/config.yml
4.nano /etc/clickhouse-backup/config.yml 修改密码
5.目标机器重复上述操作
6.clickhouse-backup create [备份名] -t [数据库名].*
7.rsync -av /你的默认备份目录如/backup/备份名/ root@192.168.1.ip:/目标机器的默认目录如/backup/备份名/
8.目标机器上运行 clickhouse-backup restore [备份名] -rm

mysql全库备份

#!/bin/bash
PASSWORD=???
mysql -u root -p'$PASSWORD' -e "SHOW DATABASES;" > databases.txt
# 指定备份目录
BACKUP_DIR="/var/lib/mysql-backup/"

# 创建备份目录(如果不存在)
mkdir -p "$BACKUP_DIR"

# 读取数据库名称列表
while IFS= read -r database; do
    if [ -n "$database" ]; then
        # 生成备份文件名,格式为 database_name_backup_$(date +%Y%m%d%H%M%S).sql
        BACKUP_FILE="$BACKUP_DIR/${database}_backup_$(date +%Y%m%d%H%M%S).sql"
        
        # 执行 mysqldump 命令进行备份
        mysqldump -u root -p'$PASSWORD' "$database" > "$BACKUP_FILE"
        
        if [ $? -eq 0 ]; then
            echo "Database $database backed up successfully to $BACKUP_FILE"
        else
            echo "Failed to back up database $database"
        fi
    fi
done < databases.txt

Docker中mongo密码重置

#!/bin/sh

#1 停止原有容器
docker stop mymongo

#2 启动新容器,将原由容器的卷挂载到新容器中。使用--noauth选项关闭认证
docker run -it --name mongo-repair --rm --volumes-from mymongo mongo:latest --noauth

#3 进入新容器,并直接连接,直接重置密码
docker exec -it mongo-repair mongosh  /bin/bash
> mongosh
> use admin
> db.system.users.find()
> db.changeUserPassword("admin", "new-pwd")

#4 停止新容器
docker stop mongo-repair

#5 启动原有容器
docker start mymongo

# 参考链接:https://blog.csdn.net/u013670453/article/details/114360562