1. 介质下载
下载地址:https://www.kingbase.com.cn/rjcxxz/index.htm
选择安装包及授权文件:根据对应的操作系统类型选择安装包
2. 部署环境配置
2.1 部署环境:
8C 16G KylinV10SP3系统
2.2 修改操作系统内核参数
代码语言:javascript复制sysctl.conf文件添加如下内容
fs.aio-max-nr=1048576
fs.file-max=6815744
kernel.shmall=2097152
kernel.shmmax=4294967295
kernel.shmmni=4096
# kernel.sem=25032000100128 # centos参数,麒麟无效
# net.ipv4.ip_local_port_range=900065500 # centos参数,麒麟无效
net.core.rmem_default=262144
net.core.rmem_max=4194304
net.core.wmem_default=262144
net.core.wmem_max=1048576
2.3 创建用户及安装路径
代码语言:javascript复制useradd kingbase
mkdir -p /opt/Kingbase/ES/V8/data
2.4 安装
代码语言:javascript复制 mount KingbaseES_V008R006C007B0024_Lin64_install.iso ./KingbaseESV8
上传license,建议放在非部署目录,例如 /home/kingbase/install
切换至kingbase用户进行部署
进行全量部署
选择字符集
选择兼容模式
选择大小写敏感
选择block大小:如兼容MySQL,则选型16k
注册服务
将脚本复制出来执行
如无异常则部署完毕
3. 参数优化
kingbase.conf文件参数优化,添加如下参数:
代码语言:javascript复制shared_buffers = 2GB
work_mem = 8MB
max_wal_size = 2GB
min_wal_size = 1GB
maintenance_work_mem = 2GB
checkpoint_timeout = 15min
max_connections = 500
effective_cache_size = 4GB
checkpoint_completion_target=0.8
max_locks_per_transaction=1024
log_destination= 'stderr'
log_directory='sys_log'
log_statement='none'
log_filename='kingbase-%d.log'
log_truncate_on_rotation = on
log_rotation_age = 1000
log_rotation_size = 100MB
log_min_duration_statement=1000
ignore_char_null_check=true
log_line_prefix='%t [%p]: [%l-1] user=%u,db=%d,app=%a,client=%h'
4. 兼容性处理
如果兼容MySQL模式,部分MySQL函数可能不兼容,可以考虑添加对应的函数,例如:
1) 日期函数
代码语言:javascript复制create extension kdb_date_function;
2) last_insert_id
代码语言:javascript复制CREATE OR REPLACE FUNCTION last_insert_id() RETURNS bigint AS $$
begin
return pg_catalog.lastval();
exception when others then
return 0;
end
$$ LANGUAGE plpgsql;
往期精彩回顾
1. MySQL高可用之MHA集群部署
2. mysql8.0新增用户及加密规则修改的那些事
3. 比hive快10倍的大数据查询利器-- presto
4. 监控利器出鞘:Prometheus Grafana监控MySQL、Redis数据库
5. PostgreSQL主从复制--物理复制
6. MySQL传统点位复制在线转为GTID模式复制
7. MySQL敏感数据加密及解密
8. MySQL数据备份及还原(一)
9. MySQL数据备份及还原(二)