娃哈哈好喝-真的!
技术够用就行,吃好喝好睡好!

clickhouse备份与恢复

clickhouse备份

1、备份表结构

语法

#备份bgecd数据库中的user表结构
clickhouse-client --user bgecd --password 123456 --port 9000 -q "SHOW CREATE TABLE bgecd.user format CSV" >> "/data/backup/bgecd.user.sql"

可以使用脚本备份库中所有表

#备份clickhouse表结构
outdir=/data/backup
user='bgecd'
pw='123456'
port=9000
clickhouse-client --user $user --password $pw --port $port -q "show databases" > $outdir/db.txt
while read dblist
do
  clickhouse-client --user $user --password $pw --port $port -q "SHOW TABLES FROM $dblist" >> $outdir/table.txt
   while read table
   do
       echo "export ${table} from database ${dblist}"
      clickhouse-client --user $user --password $pw --port $port -q "SHOW CREATE TABLE ${dblist}.${table} format CSV" >> "${outdir}/clickhouse-backup.sql"
   done < $outdir/table.txt
done < $outdir/db.txt
rm -rf $outdir/db.txt
rm -rf $outdir/table.txt
2、备份数据

语法

#备份bgecd库中的user表数据
clickhouse-client --user bgecd --password 123456 --multiquery -h 127.0.0.1  --database="bgecd" --query="select * from bgecd.user FORMAT CSV" >user.csv

脚本批量备份

#备份clickhouse数据
outdir=/data/backup
user='bgecd'
pw='123456'
port=9000
db='bgecd'
clickhouse-client --user $user --password $pw --port $port -nq "use $db;show tables;" > $outdir/table.txt
while read table
do
   echo "export ${table} from database ${db}"
  clickhouse-client --user ${user} --password ${db} --multiquery -h 127.0.0.1 --port ${port} --database=${db} --query="select * from ${db}.${table} FORMAT CSV">> "${outdir}/${db}-${table}.csv"
done < $outdir/table.txt
rm -rf $outdir/table.txt
3、恢复

语法

#恢复bgecd库中的user表数据
clickhouse-client --user bgecd --password 123456 --multiquery -h 127.0.0.1 --database="bgecd" --query="insert into bgecd.user on cluster cluster_bigdata FORMAT CSV"<./user.csv
赞(0)
未经允许不得转载:娃哈哈好喝 » clickhouse备份与恢复
分享到: 更多 (0)