档案网站建设的步骤,成都金铭 网站建设,关键词一般是指什么,微网站与普通网站的区别此场景为单机数据库节点内部备份#xff0c;方便部署和操作#xff0c;但备份REPO与数据库实例处于同一个物理主机#xff0c;冗余度较低。
前期准备
配置ksql免密登录(必须)
在Kingbase数据库运行维护中#xff0c;经常用到ksql工具登录数据库#xff0c;本地免密登录…此场景为单机数据库节点内部备份方便部署和操作但备份REPO与数据库实例处于同一个物理主机冗余度较低。
前期准备
配置ksql免密登录(必须)
在Kingbase数据库运行维护中经常用到ksql工具登录数据库本地免密登录可以让维护数据库时摆脱每次登库输入用户名密码下面介绍KingbaseES V8数据库2种配置免密登录的方法。 ksql登录时会去数据库安装用户家目录下的密码文件.encpwd中读取账户从而登入数据库密码文件为普通文本文件可以vi创建也可以使用kingbase提供的工具sys_encpwd工具来生成密码文件。 本案例采用system用户做演示若需其他用户视情况更改。
.encpwd内容解析
每一行代表一条访问规则记录可以配置多条记录每条记录包含5个字段字段与字段之间用冒号“”分隔5个字段分别为主机地址、端口号、库名、用户名、密码加密格式 .encpwd若不存在会创建若已存在会追加记录。 例
127.0.0.1:54321:test:u1:MTIzNDU2sys_encpwd配置工具使用方法
该工具包含5个参数5个参数均需要输入才能配置成功 参数说明
-H, --hostname主机地址允许单主机地址匹配和全匹配全匹配时使用*指定
-P, --portnum端口号仅允许单端口匹配
-D, --database数据库名允许单数据库匹配和全匹配全匹配时使用*指定
-U, --user用户名仅允许单用户匹配
-W, --password用户对应的密码仅允许单用户匹配注意当前四个参数输入与原文件中的某一条记录完全相同时会修改该条记录相应的密码否则生成一条新的记录。
示例1将新创建用户登录信息加入密码文件
--创建用fuwa并指定密码用ksql测试登录需要输入密码
[kingbasenode1 ~]$ ksql -Usystem -W test
口令
ksql (V8.0)
输入 help 来获取帮助信息.
test# create user fuwa with password fuwa;
CREATE ROLE
test# \q
[kingbasenode1 ~]$ ksql -Ufuwa test
ksql (V8.0)
输入 help 来获取帮助信息.
test --使用sys_encpwd工具配置密码指定fuwa用户可以从任意主机、任意端口登录任意数据库
[kingbasenode1 ~]$ sys_encpwd -H \* -P \* -D \* -U fuwa -W fuwa
[kingbasenode1 ~]$ cat .encpwd
*:*:*:fuwa:ZnV3YQ参数说明-H 指定任意主机-P指定任意端口-D指定任意库*“*”为特殊字符需要加\转义**--测试用户fuwa免密登录
[kingbasenode1 ~]$ ksql -Ufuwa test
ksql (V8.0)
输入 help 来获取帮助信息.test 示例2对system用户登录信息加入密码文件
[kingbasenode1 ~]$ sys_encpwd -H \* -P \* -D \* -U system -W kingbase
[kingbasenode1 ~]$ cat .encpwd
*:*:*:fuwa:ZnV3YQ
*:*:*:system:a2luZ2Jhc2U数据库开启归档模式(必须)
--开启归档模式
[kingbasenode1 ~]$ vi /data/kingbase.conf
#archive_mode off # enables archiving; off, on, or always
#archive_command
改为
archive_mode on # enables archiving; off, on, or always
archive_command --重启库
[kingbasenode1 ~]$ sys_ctl restart -D /data/补充archive_command 没有被注释内容将被脚本自动修改
规划备份目录
[rootnode1 bin]# mkdir -p /kbrmanbak
[rootnode1 bin]# chown -R kingbase:kingbase /kbrmanbak/
[rootnode1 bin]# chmod -R 755 /kbrmanbak/sys_rman的初始化配置
准备初始配置文件
sys_backup.conf初始化配置文件供操作人员修改的配置文件 sys_rman.conf运行时配置文件由初始化动作自动生成不推荐人为后续的修改。 工具按照如下顺序寻找初始化配置文件
cd /KingbaseES/V8/Server
# bin/sys_backup.conf
# share/sys_backup.conf生成sys_backup.conf并更改
V008R006C005B0023之后的版本支持securecmdd或sshd之前的版本支持sshd。
--查找sys_backup.conf模板位置
[kingbasenode1 bin]$ find / -name sys_backup.conf
/KingbaseES/V8/Server/share/sys_backup.conf
/KingbaseES/V8/ClientTools/share/sys_backup.conf
/KingbaseES/V8/ManagerTools/share/sys_backup.conf--生成正式sys_backup.conf文件
[kingbasenode1 bin]$ cp /KingbaseES/V8/Server/share/sys_backup.conf /KingbaseES/V8/Server/bin/sys_backup.conf--正式sys_backup.conf文件 追加以下内容
# 网络限速单位固定为 MB/s, 默认为0代表不限速配置文件仅接受纯数字
# band witdh limit, fixed in MB/s, default 0 means no limit
_band_width0
# 使用通讯协议默认使用securecmdd可选使用ssh视生产环境版本更改参数值
# V008R006C005B0023之后的版本支持securecmdd或sshd之前的版本支持sshd。
# on means securecmdd, off means normal ssh
_use_scmdon
# 是否快速启动备份立即生成checkpoint默认y
# whether to sys_start_backup() fastly, y or n
_start_fasty
#可在指定备份时、还原时并行处理可使用的并发进程数量
--process-max4
# 是否在备份时使用压缩存储默认为none不压缩 若指定压缩级别可选范围 [ 0 - 9 ]
# whether to gz the target file, none or gz
_compress_typegz
--compress-level3
# 在init过程中检查未归档的WAL的容量
# 如果超过设置值报错并退出init过程
# 单位固定为MB可选 128 ~ 1024
# if the non archived WAL files , more than this setting
# show ERROR and break the backup-init, unit be fixed in MB, 128 ~ 1024
_non_archived_space1024
# 不启用归档统计功能
_archive_statisticsn--更改正式sys_backup.conf文件,更改后内容如下
[kingbasenode1 bin]$ cat /KingbaseES/V8/Server/bin/sys_backup.conf
#file: sys_backup.conf
#dest dir: cluster_dir/kingbase/bin/sys_backup.conf
#dest dir: cluster_dir/kingbase/share/sys_backup.conf#单机 single 集群 cluster 集群各节点独立备份 single-pro
# target db style enum: single/cluster
_target_db_stylesingle
#一个数据库节点的IP支持主机名、IPv4、IPv6地址
# one kingbase node IP
# just provide one IP, script will use repmgr cluster show get other node IP
_one_db_ip192.168.40.110
#REPO备份节点的IP 本配置项支持主机名、IPv4、IPv6地址
# local repo IP, inner-REPO, must be same as one_db_ip, means repo located in one db node
# outer repo IP, outer-REPO, means repo located in outer node
_repo_ip192.168.40.110
# 备份服务器的标签仅在备份范畴内使用
# label of this cluster
_stanza_namekingbase
# 操作系统的用户名
# OS user name of database
_os_user_namekingbase
# 实际保存备份集的目录
# !!!! dir to store the backup files
# should be accessable for the OS user
_repo_path/kbrmanbak/kbbr_repo
# 保存全量备份的数目超过此数目的全量备份将被自动移除
# count of keep, over the count FULL-backup will be remove
_repo_retention_full_count5
# 自动执行全量备份的间隔天数
# count of days, interval to do FULL-backup
_crond_full_days1
# 自动执行差异备份的间隔天数0表示不执行
# count of days, interval to do DIFF-backup
_crond_diff_days0
# 自动执行增量备份的间隔天数0表示不执行
# count of days, interval to do INCR-backup
_crond_incr_days0
# 自动执行全量备份的时间点2表示凌晨2点
# HOUR to do the FULL-backup
_crond_full_hour2
# 自动执行差异备份的时间点3表示凌晨3点
# HOUR to do the DIFF-backup
_crond_diff_hour3
# 自动执行增量备份的时间点4表示凌晨4点
# HOUR to do the INCR-backup
_crond_incr_hour4
# 操作系统常见命令的全路径文件名
# OS cmd define
_os_ip_cmd/sbin/ip
_os_rm_cmd/bin/rm
_os_sed_cmd/bin/sed
_os_grep_cmd/bin/grep
# 以下四个参数仅用于单机模式
# !!! these follow 4 parameter ONLY for single style
# 单机数据库节点的数据目录
# data dir of single
_single_data_dir/data
# 单机数据库节点的二进制目录
# bin dir of single
_single_bin_dir/KingbaseES/V8/Server/bin
# 单机数据库节点的数据库登录用户名
# database user of single
_single_db_usersystem
# 单机数据库节点的端口
# database port of single
_single_db_port54321
# 网络限速单位固定为 MB/s, 默认为0代表不限速配置文件仅接受纯数字
# band witdh limit, fixed in MB/s, default 0 means no limit
_band_width0
# 使用通讯协议默认使用securecmdd可选使用ssh视生产环境版本更改参数值
# V008R006C005B0023之后的版本支持securecmdd或sshd之前的版本支持sshd。
# on means securecmdd, off means normal ssh
_use_scmdon
# 是否快速启动备份立即生成checkpoint默认y
# whether to sys_start_backup() fastly, y or n
_start_fasty
#可在指定备份时、还原时并行处理可使用的并发进程数量
--process-max4
# 是否在备份时使用压缩存储默认为none不压缩 若指定压缩级别可选范围 [ 0 - 9 ]
# whether to gz the target file, none or gz
_compress_typegz
--compress-level3
# 在init过程中检查未归档的WAL的容量
# 如果超过设置值报错并退出init过程
# 单位固定为MB可选 128 ~ 1024
# if the non archived WAL files , more than this setting
# show ERROR and break the backup-init, unit be fixed in MB, 128 ~ 1024
_non_archived_space1024
# 不启用归档统计功能
_archive_statisticsn注意事项
[kingbasenode1 bin]$ vi /KingbaseES/V8/Server/bin/sys_backup.conf
....
# 使用通讯协议默认使用securecmdd可选使用ssh视生产环境版本更改参数值
# V008R006C005B0023之后的版本支持securecmdd或sshd之前的版本支持sshd。
# on means securecmdd, off means normal ssh
_use_scmdoff
...--查看版本方法
[kingbasenode1 bin]$ ksql -V
ksql (Kingbase) V008R006C005B0023sys_rman初始化
初始化步骤
kingbasenode1 kbrmanbak]$ sys_backup.sh init
The authenticity of host 192.168.40.110 (192.168.40.110) cant be established.
ECDSA key fingerprint is b8:54:e0:74:c5:e2:33:46:0d:7d:39:91:e3:b5:5a:6d.
Are you sure you want to continue connecting (yes/no)? yes
root192.168.40.110s password:
# generate single sys_rman.conf...DONE
# update single archive_command with sys_rman.archive-push...DONE
# create stanza and check...(maybe 60 seconds)
2023-12-22 13:43:32.069 CST [12140] 警告: max_connections should be less than or equal than 10 (restricted by license)
2023-12-22 13:43:32.069 CST [12140] 提示: the value of max_connect is set 10
# create stanza and check...DONE
# initial first full backup...(maybe several minutes)
# initial first full backup...DONE
# Initial sys_rman OK.
sys_backup.sh start should be executed when need back-rest feature.问题处理
--问题描述
sys_rman初始化报错
[kingbasenode1 bin]$ sys_backup.sh init
The authenticity of host 192.168.40.110 (192.168.40.110) cant be established.
ECDSA key fingerprint is b8:54:e0:74:c5:e2:33:46:0d:7d:39:91:e3:b5:5a:6d.
Are you sure you want to continue connecting (yes/no)? yes
Please input password ...
root192.168.40.110s password: local - root192.168.40.110 ssh pwd-less OK.
# generate single sys_rman.conf...DONE
# update single archive_command with sys_rman.archive-push...DONE
# create stanza and check...(maybe 60 seconds)
ERROR: check stanza failed, check log file /KingbaseES/V8/Server/log/sys_rman_check.log--分析过程
[kingbasenode1 bin]$ tail -300f /KingbaseES/V8/Server/log/sys_rman_check.log
2023-12-22 13:38:56.493 P00 INFO: check command begin 2.27: --config/kbrmanbak/kbbr_repo/sys_rman.conf --log-level-consoleinfo --log-level-fileinfo --log-path/KingbaseES/V8/Server/log --log-subprocess --kb1-path/data --kb1-port54321 --kb1-usersystem --repo1-path/kbrmanbak/kbbr_repo --stanzakingbase
ERROR: [068]: archive_command [null] must contain sys_rman
2023-12-22 13:38:57.009 P00 INFO: check command end: aborted with exception [068]--解决办法
去掉archive_command前的#标识去掉后如下
archive_command/KingbaseES/V8/Server/bin/sys_rman --config /kbrmanbak/kbbr_repo/sys_rman.conf --stanzakingbase archive-push %p重启库
sys_backup.sh init删除目录
cd /kbrmanbak/
rm -rf kbbr_repo/再次sys_rman初始化成功
kingbasenode1 kbrmanbak]$ sys_backup.sh init
The authenticity of host 192.168.40.110 (192.168.40.110) cant be established.
ECDSA key fingerprint is b8:54:e0:74:c5:e2:33:46:0d:7d:39:91:e3:b5:5a:6d.
Are you sure you want to continue connecting (yes/no)? yes
root192.168.40.110s password:
# generate single sys_rman.conf...DONE
# update single archive_command with sys_rman.archive-push...DONE
# create stanza and check...(maybe 60 seconds)
2023-12-22 13:43:32.069 CST [12140] 警告: max_connections should be less than or equal than 10 (restricted by license)
2023-12-22 13:43:32.069 CST [12140] 提示: the value of max_connect is set 10
# create stanza and check...DONE
# initial first full backup...(maybe several minutes)
# initial first full backup...DONE
# Initial sys_rman OK.
sys_backup.sh start should be executed when need back-rest feature.
备份任务的启停
sys_backup.sh start
脚本使用crontab命令增加定时任务使用sys_rman进行定时备份可以通过crontab -l 查看定时任务。 全量备份、差异备份、增量备份均为可选。 备份类型、备份周期和备份时间由配置文件sys_backup.conf指定。
[kingbasenode1 ~]$ sys_backup.sh start
Enable some sys_rman in crontab-daemon
Set full-backup in 1 days
0 2 */1 * * kingbase /KingbaseES/V8/Server/bin/sys_rman --config/kbrmanbak/kbbr_repo/sys_rman.conf --stanzakingbase --archive-copy --typefull backup /KingbaseES/V8/Server/log/sys_rman_backup_full.log 21[kingbasenode1 ~]$ crontab -l
0 2 */1 * * kingbase /KingbaseES/V8/Server/bin/sys_rman --config/kbrmanbak/kbbr_repo/sys_rman.conf --stanzakingbase --archive-copy --typefull backup /KingbaseES/V8/Server/log/sys_rman_backup_full.log 21说明
需要去掉以下中的kingbase不然备份提示/bin/sh: kingbase: 未找到命令
[kingbasenode1 ~]$ crontab -l
0 2 */1 * * kingbase /KingbaseES/V8/Server/bin/sys_rman --config/kbrmanbak/kbbr_repo/sys_rman.conf --stanzakingbase --archive-copy --typefull backup /KingbaseES/V8/Server/log/sys_rman_backup_full.log 21sys_backup.sh stop
从系统CRONTAB中移除所有sys_rman相关的备份条目。
[kingbasenode1 ~]$ sys_backup.sh stop
Disable all sys_rman in crontab-daemon[kingbasenode1 kingbase]$ crontab -l
no crontab for kingbase
sys_backup.sh pause
暂时停止定时备份动作。
sys_backup.sh pause
Puase the sys_rman...DONEsys_backup.sh unpause
恢复被暂停的定时备份动作。
sys_backup.sh unpause
Un-Puase the sys_rman...DONEsys_backup.conf信息变化处理
如果sys_backup.conf中关于数据库的信息包含IP、数据库名、端口等有所修改需要重新初始化备份,执行 sys_backup.sh init重新初始化备份功能。 如果sys_backup.conf中关于备份周期和时间点的信息有所修改重新配置即可执行sys_backup.sh start重新配置自动备份周期。
以下参数修改后需要重新初始化生效
# DB节点的data目录
kb*-path/home/kingbase/kingbase/data
# DB节点的监听端口
kb*-port54321
# DB节点的数据库用户
kb*-useresrep
# DB节点的IP地址
kb*-host10.11.12.13
# DB节点的OS用户名
kb*-host-userkingbase
# REPO节点的实际备份目录
repo1-path/home/kingbase/kbbr_repo修改完成后执行以下命令完成重新初始化
/home/kingbase/cluster/project/cluster/kingbase/bin/sys_rman --config/home/kingbase/kbbr_repo/sys_rman.conf --stanzakingbase stanza-create
/home/kingbase/cluster/project/cluster/kingbase/bin/sys_rman --config/home/kingbase/kbbr_repo/sys_rman.conf --stanzakingbase check
/home/kingbase/cluster/project/cluster/kingbase/bin/sys_rman --config/home/kingbase/kbbr_repo/sys_rman.conf --stanzakingbase --typefull backup以下参数修改后需要一次全量备份生效
# 是否压缩备份的数据默认none不压缩可选 none / gz
# 压缩将节约空间、消耗时间不压缩将节约时间、消耗空间。
compress-typenone
# 压缩级别 默认3 1~99代表最大压缩同时也最耗时
compress-level3修改完成后执行以下命令完成一次全量备份:
/home/kingbase/cluster/project/cluster/kingbase/bin/sys_rman --config/home/kingbase/kbbr_repo/sys_rman.conf --stanzakingbase --typefull backup以下参数修改后直接生效
# REPO节点保留至多的全量备份
repo*-retention-full5
# REPO节点的sys_rman工具日志保存路径
log-path/home/kingbase/kingbase/log
# 写入到日志文件的日志级别, info debug trace
log-level-fileinfo
# 执行命令时屏幕的日志级别, info debug trace
log-level-consoleinfo
# 是否记录子进程的日志 y / n
log-subprocessy
# 多进程的至多数目
process-max4
# 是否快速生成checkpoint在开启实际备份之前
start-fasty
# 是否保留目录下的软链接
link-ally
# 未归档的WAL文件容量的警告阈值
non-archived-space1024
# 归档单个WAL的超时时间
archive-timeout600
# 限速单位固定为MB/s
band-width0
# 备份过程中遇到校验和等问题时会执行的自定义命令如发送告警邮件等
alert-command( cd /opt/Kingbase/ES/Server/bin; ./sys_mail -s %t -b %c )