一,安装数据库(俩台服务器都安装)
--前期配置
--关闭防火墙等
systemctl status firewalld.service
systemctl stop firewalld.service
systemctl disable firewalld.service
systemctl status firewalld.service
echo "SELINUX=disabled" /etc/selinux/config
cat /etc/selinux/config
--ssh快速登录
vim /etc/ssh/sshd_config
UseDNS no
GSSAPIAuthentication no
service sshd restart
/bin/systemctl restart sshd.service
--修改主机名
vim /etc/hostname
dm8
vim /etc/hosts
192.168.20.27 nynct-shyc-v16.novalocal
192.168.20.17 nynct-shyc-v18.novalocal
--配置yum源
[root@localhost soft]# mount -o loop Kylin-Server-V10-SP3-General-Release-2303-X86_64.iso /media
[root@localhost yum.repos.d]# vim kylin.repo
[ks10-local-iso]
name = Kylin Linux Advanced Server 10 - local
baseurl = file:///media
gpgcheck = 1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-kylin
enabled = 1
--yum补充安装包
vim 1.sh
yum install -y gcc* c++*
yum install -y zlib-devel* lrzsz*
yum install -y sysbench* openssh*
yum install -y initscripts* net-tools*
yum install -y ncurses* libtermcap-devel*
yum install -y cmake* make*
yum install -y zlib* readline*
yum install -y tcl* openssl*
yum install -y openldap* gcc-c++*
yum install -y openssl-devel* pam*
yum install -y perl
yum install -y python36
yum -y install e2fsprogs-devel uuid uuid-devel libuuid-devel
yum -y install readline readline-devel zlib zlib-devel gettext gettext-devel openssl openssl-devel pam pam-devel libxml2 libxml2-devel libxslt libxslt-devel perl perl-devel tcl-devel uuid-devel gcc gcc-c++ make flex bison perl-ExtUtils*
vim /etc/sysctl.conf
# 加入以下行
fs.aio-max-nr= 1048576
fs.file-max= 6815744
kernel.shmall= 2097152
kernel.shmmax= 4294967295
kernel.shmmni= 4096
kernel.sem= 250 32000 100 128
net.ipv4.ip_local_port_range= 9000 65500
net.core.rmem_default= 262144
net.core.rmem_max= 4194304
net.core.wmem_default= 262144
net.core.wmem_max= 1048576
vm.swappiness = 0
/sbin/sysctl -p # 重新加载以下
/sbin/sysctl -a
三、参数调整
1、资源使用参数
vim /etc/security/limits.conf
# 加入以下行
# * 表示所有用户,可只设置 root 和 kingbase 用户
* soft nofile 65536
# 注意:设置 nofile 的 hard limit 不能大于/proc/sys/fs/nr_open,否则注销后将无法正常登陆
* hard nofile 65535
* soft nproc 65536
* hard nproc 65535
# unlimited 表示无限制
* soft core unlimited
* hard core unlimited
2、RemoveIPC 参数
/etc/systemd/logind.conf 文件中的 RemoveIPC=no 设置,再执行一下指令
systemctl daemon-reload
systemctl restart systemd-logind.service
四、预安装工作
1、创建安装用户
后续的操作默认使用 kingbase 用户进行操作
useradd -m kingbase
passwd kingbase # kingbase
3、数据目录
mkdir -p /u01/kingbase/ES/V8/{archive,scripts,backup,soft,pgdir}
chown -R kingbase:kingbase /u01/kingbase/ES/V8
chmod -R 775 /u01/kingbase/ES/V8
4、挂载安装包
cd /u01/soft
mount -o loop KingbaseES_V008R006C007B0024_Lin64_install.iso /media
vim .bash_profile
export LANG=zh_CN.UTF8
export KINGBASE_HOME=/u01/kingbase/ES/V8/
export KINGBASE_DATA=$KINGBASE_HOME/data
export LD_LIBRARY_PATH=$KINGBASE_HOME/lib:$LD_LIBRARY_PATH
export KINBASE_PORT=54321
export PATH=$KINGBASE_HOME/Server/bin:$PATH:$HOME/bin
五、安装
1、安装
su - kingbase # 切换到安装用户
cd /KingbaseESV8 # 进入挂载点目录
./setup.sh -i console # 执行安装脚本,命令行安装
选择完全安装 --> 选择授权文件 --> 选择安装目录 --> 等待安装 --> 选择数据存储路径 -->端口-->用户名:system -->
输入密码: XXXXXX-->字符集:1:UTF8-->数据库兼容模式(2.oracle)-->大小写敏感特性(2 no )--->存储块大小(1 8K )-->
数据库将被安装。。。-->/u01/kingbase/ES/V8/install/script/root.sh(root用户执行)
选择授权文件: /u01/soft/license.dat
选择安装目录: /u01/kingbase/ES/V8
选择数据存储路径: /u01/kingbase/ES/V8/data
查看
sys_ctl start
sys_ctl status
sys_ctl stop
ksql -U system -dtest
二,搭建主从复制
1. 主库配置
#修改参数
cat >> /u01/kingbase/ES/V8/data/kingbase.conf <<"EOF"
listen_addresses = '*'
port=54321
#unix_socket_directories='/u01/kingbase/ES/V8/data'
logging_collector = on
log_directory = 'sys_log'
log_filename = 'kingbase-%Y-%m-%d-%H%M%S.log'
log_truncate_on_rotation = on
log_rotation_age = 1d
log_rotation_size = 500MB
wal_level='replica'
archive_mode='on'
archive_command='test ! -f /u01/kingbase/ES/V8/archive/%f && cp %p /u01/kingbase/ES/V8/archive/%f'
restore_command='cp /u01/kingbase/ES/V8/archive/%f %p'
max_wal_senders=10
wal_sender_timeout=60s
EOF
cat > /u01/kingbase/ES/V8/data/sys_hba.conf << EOF
# TYPE DATABASE USER ADDRESS METHOD
local all all trust
host all all 127.0.0.1/32 trust
host all all 0.0.0.0/0 md5
host replication all 0.0.0.0/0 md5
EOF
# 重启库
sys_ctl restart
2. 配置主从
从库
### 还原从库
sys_basebackup -h 192.168.20.27 -U system -l bk20240821 -F p -P -R -D /u01/kingbase/ES/V8/kdir/bak
口令:XXXXXX
-- 关闭从库,删除从库的数据文件,并且将备份文件覆盖从库的数据文件
sys_ctl stop
rm -rf /u01/kingbase/ES/V8/data/ *
mv /u01/kingbase/ES/V8/kdir/bak/ * /u01/kingbase/ES/V8/data
### 修改从库primary_conninfo参数
cat >> /u01/kingbase/ES/V8/data/kingbase.conf <<"EOF"
primary_conninfo = 'host=192.168.20.27 port=54321 user=system password=Bdstar1234'
EOF
### 启动从库
sys_ctl start
### 查询复制状态
ksql -U system -dtest
\x
--主库查看wal日志发送状态
select * from pg_stat_replication;
--从库查看wal日志接收状态
select * from pg_stat_wal_receiver;
-- 也可以查看这个,主库是f代表false ;备库是t,代表true
select pg_is_in_recovery();
检查数据
\dt+
create table test1 as select * from sys_stat_statements;
create table test2 as select * from sys_stat_statements_all ;
select * from test1;
select * from test2;
----------------------------------------------------------------------------------------------------------------------
可能需要其他操作
1.查看服务
systemctl start kingbase8d.service
systemctl stop kingbase8d.service
/etc/init.d/kingbase8d start|stop
2. 查看人大金仓数据库授权剩余时间
select get_license_validdays();
3.检查shared_buffers
select ();
show shared_buffers;
\l
4.查看大小写是否敏感
show enable_ci;
on:表示大小写不敏感;
off:表示大小写敏感
5.kingbase主从配置同步数据(俩台)
cat >> /u01/kingbase/ES/V8/data/kingbase.conf <<"EOF"
synchronous_commit='on'
synchronous_standby_names='*'
EOF