【YashanDB知识库】YCP高可用部署离线升级-rpc升级详细步骤

简介: YCP高可用部署离线升级-rpc升级详细步骤

本文内容来自YashanDB官网,原文内容请见 https://www.yashandb.com/newsinfo/7686586.html?templateId=1718516

以23.2.4.100版本升级到23.2.11.100版本为例

升级前先对YCP主备节点执行备份

1、主节点执行

/opt/ycm/ycm/scripts/backup.sh -n ycm -i /opt/ycm/ycm -c yashandb -y /data1/dugg/yasdb_home/yashandb/23.2.2.100 --cata-log /data1/dugg/yasdb_home/yashandb/23.2.2.100/catalog --addr 192.168.3.102:3675 -k 0d09e5d01100dc76 -u sys -p Cod-2022

[dugg@localhost upgrade]$ /opt/ycm/ycm/scripts/backup.sh -n ycm -i /opt/ycm/ycm -c yashandb -y /data1/dugg/yasdb_home/yashandb/23.2.2.100 --cata-log /data1/dugg/yasdb_home/yashandb/23.2.2.100/catalog --addr 192.168.3.102:3675 -k 0d09e5d01100dc76 -u sys -p Cod-2022

backup ycm, tag: 20240926-153611...

[backup db] exec yasbak deploy

 hostid | node_type | nodeid | pid | instance_status | database_status | database_role | listen_address | data_path

-------------------------------------------------------------------------------------------------------------------------------------------------

 host0001 | db | 1-1:1 | 739908 | open | normal | primary | 192.168.3.102:3688 | /data1/dugg/yasdb_data/db-1-1

----------+-----------+--------+--------+-----------------+-----------------+---------------+--------------------+-------------------------------

 host0002 | db | 1-2:2 | 658538 | open | normal | standby | 192.168.3.105:3688 | /data1/dugg/yasdb_data/db-1-2

----------+-----------+--------+--------+-----------------+-----------------+---------------+--------------------+-------------------------------

 host0003 | db | 1-3:3 | 647339 | open | normal | standby | 192.168.3.106:3688 | /data1/dugg/yasdb_data/db-1-3

----------+-----------+--------+--------+-----------------+-----------------+---------------+--------------------+-------------------------------

cluster:yashandb deploy yasbak succeed

[backup db] exec yasbak run backup database

connecting to yasdb node: 192.168.3.106:3688

backup 192.168.3.106:3688 succeed

[backup db] backup yashandb success

[backup dir] cp data/cert

[backup dir] cp data/yasdbpasswd.ini

[backup dir] cp etc

[backup dir] cp loki/loki-local-config.yaml

[backup dir] cp loki/loki-rules.yaml.bak

[backup dir] cp loki/rules

[backup dir] cp loki/tmp_rules

[backup dir] cp monit/conf

[backup dir] cp monit/data/conf

[backup dir] cp monit/data/monitrc

[backup dir] cp prometheus-2.28.1/prometheus.yml

[backup dir] cp prometheus-2.28.1/rules.yml

[backup dir] cp promtail/positions.yaml

[backup dir] cp promtail/promtail-local-config.yaml

[backup dir] cp static

[backup dir] cp yashandb_exporter/yashandb-metrics.yml

[backup dir] cp yashandb_exporter/yashandb-targets.yml

[backup dir] cp yas-hcs-api/conf

[backup dir] tar /opt/ycm/ycm/bak/ycm-20240926-153611.tar.gz

[backup dir] backup ycm success

[clear old backup] back up file is less than three, skip remove

back up success, backup set in /opt/ycm/ycm/bak/ycm-20240926-153611.tar.gz
AI 代码解读

2、第一个备节点执行

/opt/ycm/ycm/scripts/backup.sh -n ycm -i /opt/ycm/ycm -c yashandb -y /data1/dugg/yasdb_home/yashandb/23.2.2.100 --cata-log /data1/dugg/yasdb_home/yashandb/23.2.2.100/catalog --addr 192.168.3.102:3675 -k 0d09e5d01100dc76 -u sys -p Cod-2022

[dugg@controller upgrade]$ /opt/ycm/ycm/scripts/backup.sh -n ycm -i /opt/ycm/ycm -c yashandb -y /data1/dugg/yasdb_home/yashandb/23.2.2.100 --cata-log /data1/dugg/yasdb_home/yashandb/23.2.2.100/catalog --addr 192.168.3.102:3675 -k 0d09e5d01100dc76 -u sys -p Cod-2022

backup ycm, tag: 20240926-153650...

[backup db] exec yasbak deploy

 hostid | node_type | nodeid | pid | instance_status | database_status | database_role | listen_address | data_path

-------------------------------------------------------------------------------------------------------------------------------------------------

 host0001 | db | 1-1:1 | 739908 | open | normal | primary | 192.168.3.102:3688 | /data1/dugg/yasdb_data/db-1-1

----------+-----------+--------+--------+-----------------+-----------------+---------------+--------------------+-------------------------------

 host0002 | db | 1-2:2 | 658538 | open | normal | standby | 192.168.3.105:3688 | /data1/dugg/yasdb_data/db-1-2

----------+-----------+--------+--------+-----------------+-----------------+---------------+--------------------+-------------------------------

 host0003 | db | 1-3:3 | 647339 | open | normal | standby | 192.168.3.106:3688 | /data1/dugg/yasdb_data/db-1-3

----------+-----------+--------+--------+-----------------+-----------------+---------------+--------------------+-------------------------------

cluster:yashandb deploy yasbak succeed

[backup db] exec yasbak run backup database

connecting to yasdb node: 192.168.3.106:3688

backup 192.168.3.106:3688 succeed

[backup db] backup yashandb success

[backup dir] cp data/cert

[backup dir] cp data/yasdbpasswd.ini

[backup dir] cp etc

[backup dir] cp loki/loki-local-config.yaml

[backup dir] cp loki/loki-rules.yaml.bak

[backup dir] cp loki/rules

[backup dir] cp loki/tmp_rules

[backup dir] cp monit/conf

[backup dir] cp monit/data/conf

[backup dir] cp monit/data/monitrc

[backup dir] cp prometheus-2.28.1/prometheus.yml

[backup dir] cp prometheus-2.28.1/rules.yml

[backup dir] cp promtail/positions.yaml

[backup dir] cp promtail/promtail-local-config.yaml

[backup dir] cp static

[backup dir] cp yashandb_exporter/yashandb-metrics.yml

[backup dir] cp yashandb_exporter/yashandb-targets.yml

[backup dir] cp yas-hcs-api/conf

[backup dir] tar /opt/ycm/ycm/bak/ycm-20240926-153650.tar.gz

[backup dir] backup ycm success

[clear old backup] back up file is less than three, skip remove

back up success, backup set in /opt/ycm/ycm/bak/ycm-20240926-153650.tar.gz
AI 代码解读

3、第二个备节点执行

/opt/ycm/ycm/scripts/backup.sh -n ycm -i /opt/ycm/ycm -c yashandb -y /data1/dugg/yasdb_home/yashandb/23.2.2.100 --cata-log /data1/dugg/yasdb_home/yashandb/23.2.2.100/catalog --addr 192.168.3.102:3675 -k 0d09e5d01100dc76 -u sys -p Cod-2022

[dugg@host106 upgrade]$ /opt/ycm/ycm/scripts/backup.sh -n ycm -i /opt/ycm/ycm -c yashandb -y /data1/dugg/yasdb_home/yashandb/23.2.2.100 --cata-log /data1/dugg/yasdb_home/yashandb/23.2.2.100/catalog --addr 192.168.3.102:3675 -k 0d09e5d01100dc76 -u sys -p Cod-2022

backup ycm, tag: 20240926-153703...

[backup db] exec yasbak deploy

 hostid | node_type | nodeid | pid | instance_status | database_status | database_role | listen_address | data_path

-------------------------------------------------------------------------------------------------------------------------------------------------

 host0001 | db | 1-1:1 | 739908 | open | normal | primary | 192.168.3.102:3688 | /data1/dugg/yasdb_data/db-1-1

----------+-----------+--------+--------+-----------------+-----------------+---------------+--------------------+-------------------------------

 host0002 | db | 1-2:2 | 658538 | open | normal | standby | 192.168.3.105:3688 | /data1/dugg/yasdb_data/db-1-2

----------+-----------+--------+--------+-----------------+-----------------+---------------+--------------------+-------------------------------

 host0003 | db | 1-3:3 | 647339 | open | normal | standby | 192.168.3.106:3688 | /data1/dugg/yasdb_data/db-1-3

----------+-----------+--------+--------+-----------------+-----------------+---------------+--------------------+-------------------------------

cluster:yashandb deploy yasbak succeed

[backup db] exec yasbak run backup database

connecting to yasdb node: 192.168.3.106:3688

backup 192.168.3.106:3688 succeed

[backup db] backup yashandb success

[backup dir] cp data/cert

[backup dir] cp data/yasdbpasswd.ini

[backup dir] cp etc

[backup dir] cp loki/loki-local-config.yaml

[backup dir] cp loki/loki-rules.yaml.bak

[backup dir] cp loki/rules

[backup dir] cp loki/tmp_rules

[backup dir] cp monit/conf

[backup dir] cp monit/data/conf

[backup dir] cp monit/data/monitrc

[backup dir] cp prometheus-2.28.1/prometheus.yml

[backup dir] cp prometheus-2.28.1/rules.yml

[backup dir] cp promtail/positions.yaml

[backup dir] cp promtail/promtail-local-config.yaml

[backup dir] cp static

[backup dir] cp yashandb_exporter/yashandb-metrics.yml

[backup dir] cp yashandb_exporter/yashandb-targets.yml

[backup dir] cp yas-hcs-api/conf

[backup dir] tar /opt/ycm/ycm/bak/ycm-20240926-153703.tar.gz

[backup dir] backup ycm success

[clear old backup] back up file is less than three, skip remove

back up success, backup set in /opt/ycm/ycm/bak/ycm-20240926-153703.tar.gz
AI 代码解读

升级主节点

1、解压安装包、三个节点都解压

[dugg@localhost upgrade]$ tar -zxvf yashandb-cloud-platform-23.2.11.100-linux-x86_64.tar.gz
AI 代码解读

2、生成被托管服务器的配置文件

sudo ./scripts/yasadm host gen -i /opt/ycm --rpc-port 9072

sudo ./scripts/yasadm host gen -i /opt/ycm --rpc-port 9072



-i, --install-dir 管理平台的安装路径

--rpc-port 管理平台服务器的升级RPC端口,用于RPC升级方式,默认为9072



[dugg@localhost upgrade]$ cd ycm

[dugg@localhost ycm]$ sudo ./scripts/yasadm host gen -i /opt/ycm --rpc-port 9072

command executed successfully

[dugg@localhost ycm]$ ll

total 24308

drwxrwxr-x. 3 dugg dugg 79 Sep 18 17:19 etc

drwxrwxr-x. 2 dugg dugg 10 Sep 18 17:19 log

drwxrwxr-x. 2 dugg dugg 4096 Sep 18 17:19 packages

drwxrwxr-x. 3 dugg dugg 67 Sep 18 17:19 scripts

drwxrwxr-x. 5 dugg dugg 4096 Sep 18 17:19 static

-rw-r--r--. 1 root root 1123 Sep 26 15:38 ycm_host.toml

-rwxrwxr-x. 1 dugg dugg 24875776 Sep 18 17:19 ycm-init
AI 代码解读

3、执行升级命令

sudo ./scripts/yasadm upgrade -i /opt/ycm -t ycm_host.toml --imp-exp-install-dir /data1/dugg/yasdb_home/yashandb/23.2.2.100 --rpc --role primary

sudo ./scripts/yasadm upgrade -i /opt/ycm -t ycm_host.toml --imp-exp-install-dir /data1/dugg/yasdb_home/yashandb/23.2.2.100 --rpc --role primary



-i, --install-dir 管理平台的安装路径

-t, --toml 被托管服务器信息的配置文件

--imp-exp-install-dir 安装有imp和exp的yashandb客户端路径,用于备份平台后端yashandb的数据

--role primary 升级主YCP

--plugin-package 可选,其它CPU架构的系统安装包,如果平台同时管理了x86_64和aarch64主机,该参数必填



[dugg@localhost ycm]$ ./scripts/yasadm upgrade -i /opt/ycm -t ycm_host.toml --imp-exp-install-dir /data1/dugg/yasdb_home/yashandb/23.2.2.100 --rpc --role primary --plugin-package /home/dugg/install/yashandb-cloud-platform-23.2.11.100-linux-aarch64.tar.gz

2024/09/26 16:21:56 upgrade check success

2024/09/26 16:21:56 [HOST INFO]:

HostId: host-750a9921, ManageIp: 192.168.3.105, HostName: controller

HostId: host-be7ed325, ManageIp: 192.168.3.106, HostName: host106

HostId: host-8db9f906, ManageIp: 192.168.3.102, HostName: localhost.localdomain

HostId: host-4f679140, ManageIp: 192.168.8.4, HostName: localhost.localdomain

HostId: host-5a28f120, ManageIp: 192.168.24.59, HostName: k8s-24.59

HostId: host-caaa2e41, ManageIp: 192.168.24.49, HostName: k8s-24.49

HostId: host-c42d7e89, ManageIp: 192.168.24.48, HostName: k8s-24.48

Are you sure to upgrade YCP? [yes/no]

yes

yes

2024/09/26 16:22:00 genertate upgrade backup config success

2024/09/26 16:22:04 deploy host host-750a9921 upgrade agent success

2024/09/26 16:22:05 deploy host host-be7ed325 upgrade agent success

2024/09/26 16:22:07 deploy host host-8db9f906 upgrade agent success

2024/09/26 16:22:08 deploy host host-4f679140 upgrade agent success

2024/09/26 16:22:10 deploy host host-5a28f120 upgrade agent success

2024/09/26 16:22:11 deploy host host-caaa2e41 upgrade agent success

2024/09/26 16:22:12 deploy host host-c42d7e89 upgrade agent success

2024/09/26 16:22:13 deploy upgrade agent success

2024/09/26 16:22:13 upgrade 23.2.4.100 to 23.2.11.100 begin

2024/09/26 16:22:13 create upgrade record in yashandb success

2024/09/26 16:22:14 [host-4f679140] stop ycm-agent process success

2024/09/26 16:22:14 [host-c42d7e89] stop ycm-agent process success

2024/09/26 16:22:14 [host-caaa2e41] stop ycm-agent process success

2024/09/26 16:22:14 [host-be7ed325] stop ycm-agent process success

2024/09/26 16:22:14 [host-8db9f906] stop ycm-agent process success

2024/09/26 16:22:14 [host-750a9921] stop ycm-agent process success

2024/09/26 16:22:14 [host-5a28f120] stop ycm-agent process success

[WARN]: /opt/ycm/ycm/scripts/yas-hc-api.sh does not exist, skip operate

2024/09/26 16:22:30 stop ycm process success

2024/09/26 16:22:30 stop all ycm/ycm-agent process success

2024/09/26 16:22:33 backup ycm success

2024/09/26 16:22:33 backup ycm-agent host-750a9921 success

2024/09/26 16:22:34 backup ycm-agent host-be7ed325 success

2024/09/26 16:22:35 backup ycm-agent host-8db9f906 success

2024/09/26 16:22:35 backup ycm-agent host-4f679140 success

2024/09/26 16:22:35 backup ycm-agent host-5a28f120 success

2024/09/26 16:22:36 backup ycm-agent host-caaa2e41 success

2024/09/26 16:22:36 backup ycm-agent host-c42d7e89 success

2024/09/26 16:22:36 backup all ycm/ycm-agent success

2024/09/26 16:22:44 install ycm upgrade package success

2024/09/26 16:22:47 install ycm-agent host-750a9921 upgrade package success

2024/09/26 16:22:51 install ycm-agent host-be7ed325 upgrade package success

2024/09/26 16:22:55 install ycm-agent host-8db9f906 upgrade package success

2024/09/26 16:23:00 install ycm-agent host-4f679140 upgrade package success

2024/09/26 16:23:02 install ycm-agent host-5a28f120 upgrade package success

2024/09/26 16:23:05 install ycm-agent host-caaa2e41 upgrade package success

2024/09/26 16:23:09 install ycm-agent host-c42d7e89 upgrade package success

2024/09/26 16:23:09 install all ycm/ycm-agent upgrade package success

2024/09/26 16:23:10 replace ycm/ycm-agent dir and file success

2024/09/26 16:23:10 exec upgrade sql success

2024/09/26 16:23:10 add default data success

2024/09/26 16:23:10 update config file ycm.yaml success

2024/09/26 16:23:10 update backup strategy in db success

2024/09/26 16:23:10 upgrade metadata success

2024/09/26 16:23:21 [host-c42d7e89] start ycm-agent process success

2024/09/26 16:23:21 [host-caaa2e41] start ycm-agent process success

2024/09/26 16:23:21 [host-4f679140] start ycm-agent process success

2024/09/26 16:23:21 [host-8db9f906] start ycm-agent process success

2024/09/26 16:23:21 [host-be7ed325] start ycm-agent process success

2024/09/26 16:23:21 [host-5a28f120] start ycm-agent process success

2024/09/26 16:23:21 [host-750a9921] start ycm-agent process success

2024/09/26 16:23:21 start ycm process success

2024/09/26 16:23:21 update host kernel arch success

2024/09/26 16:23:21 update upgrade status in yashandb success

2024/09/26 16:23:21 update upgrade stauts in config success

2024/09/26 16:23:21 upgrade success

2024/09/26 16:23:30 uncompleted upgrade instances:

instId: ycp0002; ListenIp: 0.0.0.0; electionIp: 192.168.3.105; port: 9010

instId: ycp0003; ListenIp: 0.0.0.0; electionIp: 192.168.3.106; port: 9010

command executed successfully
AI 代码解读

升级备节点

1、第一个备节点

sudo ./scripts/yasadm upgrade -i /opt/ycm --lib-dir /data1/dugg/yasdb_home/yashandb/23.2.2.100/lib --role standy

[dugg@controller ycm]$ sudo ./scripts/yasadm upgrade -i /opt/ycm --lib-dir /data1/dugg/yasdb_home/yashandb/23.2.2.100/lib --role standby

2024/09/26 16:51:37 [HOST INFO]:

Are you sure to upgrade YCP? [yes/no]

yes

yes

2024/09/26 16:51:40 genertate upgrade backup config success

2024/09/26 16:51:40 upgrade 23.2.4.100 to 23.2.11.100 begin

2024/09/26 16:51:40 create upgrade record in yashandb success

[WARN]: /opt/ycm/ycm/scripts/yas-hc-api.sh does not exist, skip operate

2024/09/26 16:51:41 stop ycm process success

2024/09/26 16:51:41 backup ycm success

2024/09/26 16:51:46 install ycm upgrade package success

2024/09/26 16:51:46 replace ycm dir and file success

2024/09/26 16:51:46 update config file ycm.yaml success

2024/09/26 16:51:54 start ycm process success

2024/09/26 16:51:54 update upgrade status in yashandb success

2024/09/26 16:51:54 update upgrade stauts in config success

2024/09/26 16:51:54 upgrade success

2024/09/26 16:51:54 uncompleted upgrade instances:

instId: ycp0003; ListenIp: 0.0.0.0; electionIp: 192.168.3.106; port: 9010

command executed successfully
AI 代码解读

2、第二个备节点

sudo ./scripts/yasadm upgrade -i /opt/ycm --lib-dir /data1/dugg/yasdb_home/yashandb/23.2.2.100 --role standy

[dugg@host106 ycm]$ sudo ./scripts/yasadm upgrade -i /opt/ycm --lib-dir /data1/dugg/yasdb_home/yashandb/23.2.2.100/lib --role standby

2024/09/26 16:52:19 [HOST INFO]:

Are you sure to upgrade YCP? [yes/no]

yes

yes

2024/09/26 16:52:21 genertate upgrade backup config success

2024/09/26 16:52:21 upgrade 23.2.4.100 to 23.2.11.100 begin

2024/09/26 16:52:21 create upgrade record in yashandb success

[WARN]: /opt/ycm/ycm/scripts/yas-hc-api.sh does not exist, skip operate

2024/09/26 16:52:22 stop ycm process success

2024/09/26 16:52:22 backup ycm success

2024/09/26 16:52:27 install ycm upgrade package success

2024/09/26 16:52:27 replace ycm dir and file success

2024/09/26 16:52:27 update config file ycm.yaml success

2024/09/26 16:52:35 start ycm process success

2024/09/26 16:52:35 update upgrade status in yashandb success

2024/09/26 16:52:35 update upgrade stauts in config success

2024/09/26 16:52:35 upgrade success

command executed successfully
AI 代码解读

3、查看升级后版本

cat /opt/ycm/ycm/etc/upgrade/version.toml

[dugg@host106 upgrade]$ cat /opt/ycm/ycm/etc/upgrade/version.toml

version = "23.2.11.100"



[[upgrade]]

source_version = ["23.1.2.100"]

path = "23.1.2.100"



[[upgrade]]

source_version = ["23.1.3.100", "23.1.4.1"]

path = "23.1.3.100"



[[upgrade]]

source_version = ["23.1.4.2", "23.1.4.3", "23.2.1.100", "23.2.1.103", "23.2.1.104", "23.2.1.105", "23.2.2.100", "23.2.3.100", "23.2.4.100", "23.2.5.100", "23.2.6.100", "23.2.7.100", "23.2.8.100", "23.2.8.101", "23.2.9.100", "23.2.10.100"]
AI 代码解读
目录
打赏
0
0
0
0
98
分享
相关文章
【YashanDB知识库】Kettle迁移PostgreSQL到YashanDB
本文介绍了在Windows环境下使用开源工具Kettle将PostgreSQL数据迁移到YashanDB的方法,适用于YMP不支持PostgreSQL的场景。环境配置包括Kettle 8.3、JAVA 1.8、PostgreSQL 12和YashanDB 23.2.1.100。通过设置JAVA环境变量、解压作业包、启动Kettle图形界面,配置数据库连接(PostgreSQLInput与YashanOutput)以及修改表清单文件等步骤,最终执行总任务完成数据迁移。若迁移失败,可通过日志定位问题并重试,目标表会在每次同步前被truncate以避免数据冲突。
【YashanDB知识库】Kettle迁移PostgreSQL到YashanDB
【YashanDB知识库】DataX迁移Hive到崖山分布式
本文来自YashanDB官网,介绍通过DataX将Hive数据迁移到YashanDB的实现方法。源环境为Hive 3.1.3,目标为YashanDB 23.2.3.100。文章提供了Hive与YashanDB的建表脚本、数据类型映射及DataX配置示例,包含reader和writer插件参数设置,并通过`datax.py`执行同步任务。内容详尽展示了数据迁移的全流程。
【YashanDB知识库】DataX迁移Hive到崖山分布式
【YashanDB知识库】服务器重启后启动yasom和yasagent进程时有告警
本文介绍了YashanDB在特定场景下的问题分析与解决方法。当使用yasboot重启数据库后,yasom和yasagent进程虽启动成功但出现告警,原因是缺少libnsl.so.1库文件或环境变量配置错误。解决步骤包括:检查系统中是否存在该库文件,若不存在则根据操作系统类型安装(有外网时通过yum或apt,无外网时创建符号链接),若存在则调整环境变量配置,并重新启动相关进程验证问题是否解决。
【YashanDB知识库】共享从 MySQL异常处理CONTINUE HANDLER的改写方法
本文介绍了MySQL中`CONTINUE HANDLER FOR NOT FOUND`的用法及其在YashanDB中的改写方法。通过一个示例存储过程,展示了如何使用游标和异常处理机制来应对“未找到数据”的情况。在MySQL中,`CONTINUE HANDLER`用于捕获此类异常;而在YashanDB中,则需改用游标的`%NOTFOUND`属性和`NO_DATA_FOUND`异常处理。文章对比了两者的执行效果,帮助用户顺利完成从MySQL到YashanDB的业务迁移。
【YashanDB知识库】共享超过32000字节字符串插入CLOB类型方案
本文来自YashanDB官网,介绍了解决向崖山数据库CLOB类型字段插入超过32000字节字符串时出现的YAS-04107错误的方法。通过JDBC动态变量绑定技术,实现对不同表的超长字符串插入支持。方案基于YashanDB JDBC和Druid组件,动态解析SQL语句并绑定变量,提供通用性。文章包含关键代码示例及程序使用说明,需JDK 1.8环境运行,并提供附件下载以辅助实施。
【YashanDB知识库】扩展redo大小
本文介绍了崖山数据库(YashanDB)中调整redo文件数量和大小的方法。通过修改配置文件的REDO_FILE_NUM和REDO_FILE_SIZE参数,或使用SQL命令手动扩容redo文件,具体包括:查看当前redo状态、新增redo文件、切换日志写入、执行检查点操作以确保数据安全、删除旧redo文件等步骤。此方法适用于安装后发现redo配置过小的情况,帮助优化数据库性能。
【YashanDB知识库】MySQL和YashanDB 隐式转换不一致引起的报错
本文分析了在YashanDB中执行特定SQL语句时出现的类型转换错误问题,并对比了YashanDB、Oracle和MySQL 5.7的行为差异。问题源于隐式类型转换,当数值字段与非法数字字符串(如'1,2')进行比较时,YashanDB和Oracle会报错,而MySQL 5.7虽不报错但会引发警告。通过调整SQL语句,避免数值与字符串直接比较,可有效解决问题。文章还详细解析了不同值表现不一致的原因,涉及执行计划和过滤条件的实际运行细节。
【YashanDB知识库】数据库升级后用yasboot在线扩充备节点出现报错
本文来自YashanDB官网,讨论从22.2.4.1升级至23.2.2.100过程中遇到的在线扩容问题。使用yasboot增加备节点时出现“no replication addr in node 1-1”错误,尽管数据库中存在相关配置。原因是早期托管功能未支持扩容,导致OM无法获取新库配置。提供两种规避方法:一是手动修改`cod_domor.db`信息并调整配置文件;二是手动安装YashanDB并配置备机。最终已向研发反馈,将在扩容时优化配置检查逻辑。
【YashanDB知识库】分布式LSC表修改字段
本文来自YashanDB官网,介绍了一种间接修改分布式LSC表字段的方法。通过重命名原表为备份表、重建新表调整字段长度、使用bulkload方式快速导入数据、验证记录数并删除备份表等步骤,实现将字段`area_name`从VARCHAR2(60)修改为VARCHAR2(100)。此方法高效且适用于分布式环境下的表结构调整。
【YashanDB知识库】Springboot启动找不到崖山jdbc驱动的问题处理
本文来自YashanDB官网,主要解决SpringBoot应用启动时出现“找不到崖山JDBC驱动”的问题,尽管lib目录下已有yashandb-jdbc-1.6.9.jar文件。错误信息显示`java.lang.ClassNotFoundException: com.yashandb.jdbc.Driver`。解决方案为:通过`which java`等命令定位Java安装路径,将驱动jar包复制到JRE的`lib/ext`目录下,最后重启应用即可。