首页 » PostgreSQL/GaussDB » GaussDB 单机版(505)ARM安装体验

GaussDB 单机版(505)ARM安装体验

GaussDB是华为推出的企业级关系型数据库,这里GaussDB是指FOR OLTP的关系型数据库,该分支产品支持分布式和单机式,支持ARM架构和X86架构,目前也同样支持on-premises 本地部署, 来抢占线下的如oracle\MySQL的国产化替代市场,支持oracle与MySQL兼容模式,之前测试过《体验一下GaussDB集中式(本地部署)的Flashback/TIMECAPSULE 闪回功能》,这次在测试环境ARM平台上安装GaussDB单机版(505版本)用于学习,简单记录。

环境 Gaussdb kernel 505 on BC-LINUX 22 ARM

[gauss@dev]$ uname -a
Linux anbob_com 5.10.0-153.24.0.100.6.oe2203sp2.bclinux.aarch64 #1 SMP Thu Nov 23 11:11:44 CST 2023 aarch64 aarch64 aarch64 GNU/Linux
[gauss@dev]$ lscpu
Architecture:           aarch64
  CPU op-mode(s):       64-bit
  Byte Order:           Little Endian
CPU(s):                 8
  On-line CPU(s) list:  0-7
Vendor ID:              HiSilicon
  Model name:           Kunpeng-920
    Model:              0
    Thread(s) per core: 1
    Core(s) per socket: 8
    Socket(s):          1
    Stepping:           0x1
    Frequency boost:    disabled
    CPU max MHz:        2600.0000
    CPU min MHz:        2600.0000
    BogoMIPS:           200.00
    Flags:              fp asimd evtstrm aes pmull sha1 sha2 crc32 atomics fphp asimdhp cpuid asimdrdm jscvt fcma dcpop asimddp asimdfhm
NUMA:
  NUMA node(s):         1
  NUMA node0 CPU(s):    0-7
Vulnerabilities:
  Itlb multihit:        Not affected
  L1tf:                 Not affected
  Mds:                  Not affected
  Meltdown:             Not affected
  Mmio stale data:      Not affected
  Retbleed:             Not affected
  Spec store bypass:    Not affected
  Spectre v1:           Mitigation; __user pointer sanitization
  Spectre v2:           Not affected
  Srbds:                Not affected
  Tsx async abort:      Not affected
[gauss@dev]$ cat /etc/*release
BigCloud Enterprise Linux For Euler release 22.10U2 LTS
BigCloud Enterprise Linux For Euler release 22.10U2 LTS
NAME="BigCloud Enterprise Linux"
VERSION="22.10U2 LTS"
ID="bclinux"
VERSION_ID="22.10U2"
PRETTY_NAME="BigCloud Enterprise Linux For Euler 22.10U2 LTS"
ANSI_COLOR="0;31"

BigCloud Enterprise Linux For Euler release 22.10U2 LTS

上传介质

# ll
total 982128
-rw-r--r--  1 root root 1005684529 Apr 29 16:57 'GaussDB Kernel 505.2.0.B031.zip'

创建用户
— 注,这里仅用于学习,未标准化安装,未使用omm

[root@anbob_com ~]# useradd gauss

[root@anbob_com ~]# mv GaussDB505.2.0.B031.zip /home/gauss

解压
— 可以直接 解压到 指定的数据库软件目录 这里我使用了/home/gauss下

[gauss@anbob_com ~]$ unzip GaussDB505.2.0.B031.zip
Archive:  GaussDB505.2.0.B031.zip
   creating: Euler2.10_arm_64/
  inflating: Euler2.10_arm_64/GaussDB-Kernel_505.2.0.B031_Server_ARM_Centralized.tar.gz.hwp7s
  inflating: Euler2.10_arm_64/GaussDB-Kernel_505.2.0.B031_Om_ARM_Centralized.tar.gz.hwp7s
  inflating: Euler2.10_arm_64/GaussDB-Kernel_505.2.0.B031_Om_ARM_Centralized.tar.gz
  inflating: Euler2.10_arm_64/GaussDB-Kernel_505.2.0.B031_Server_ARM_Centralized.tar.gz
  inflating: Euler2.10_arm_64/GaussDB-Kernel_505.2.0.B031_Server_ARM_Centralized.tar.gz.swbom
  inflating: Euler2.10_arm_64/GaussDB-Kernel_505.2.0.B031_Om_ARM_Centralized.tar.gz.swbom
  inflating: Euler2.10_arm_64/GaussDB-Kernel_505.2.0.B031_Server_ARM_Centralized.tar.gz.swbom.asc
  inflating: Euler2.10_arm_64/GaussDB-Kernel_505.2.0.B031_Server_ARM_Centralized.tar.gz.swbom.p7s
  inflating: Euler2.10_arm_64/GaussDB-Kernel_505.2.0.B031_Om_ARM_Centralized.tar.gz.swbom.asc
  inflating: Euler2.10_arm_64/GaussDB-Kernel_505.2.0.B031_Om_ARM_Centralized.tar.gz.swbom.p7s
  inflating: Euler2.10_arm_64/GaussDB-Kernel_505.2.0.B031_Om_ARM_Centralized.tar.gz.asc
  inflating: Euler2.10_arm_64/GaussDB-Kernel_505.2.0.B031_Om_ARM_Centralized.tar.gz.p7s
  inflating: Euler2.10_arm_64/GaussDB-Kernel_505.2.0.B031_Server_ARM_Centralized.tar.gz.asc
  inflating: Euler2.10_arm_64/GaussDB-Kernel_505.2.0.B031_Server_ARM_Centralized.tar.gz.p7s

[gauss@anbob_com Euler2.10_arm_64]$ ll
total 981980
-rw-r--r-- 1 gauss gauss  32547077 Oct 16  2024 GaussDB-Kernel_505.2.0.B031_Om_ARM_Centralized.tar.gz   --集群件
-rw-r--r-- 1 gauss gauss       490 Oct 16  2024 GaussDB-Kernel_505.2.0.B031_Om_ARM_Centralized.tar.gz.asc
-rw-r--r-- 1 gauss gauss      8200 Oct 16  2024 GaussDB-Kernel_505.2.0.B031_Om_ARM_Centralized.tar.gz.hwp7s
-rw-r--r-- 1 gauss gauss      8690 Oct 16  2024 GaussDB-Kernel_505.2.0.B031_Om_ARM_Centralized.tar.gz.p7s
-rw-r--r-- 1 gauss gauss     17055 Oct 16  2024 GaussDB-Kernel_505.2.0.B031_Om_ARM_Centralized.tar.gz.swbom
-rw-r--r-- 1 gauss gauss       490 Oct 16  2024 GaussDB-Kernel_505.2.0.B031_Om_ARM_Centralized.tar.gz.swbom.asc
-rw-r--r-- 1 gauss gauss      8690 Oct 16  2024 GaussDB-Kernel_505.2.0.B031_Om_ARM_Centralized.tar.gz.swbom.p7s
-rw-r--r-- 1 gauss gauss 972779686 Oct 16  2024 GaussDB-Kernel_505.2.0.B031_Server_ARM_Centralized.tar.gz   --数据库软件
-rw-r--r-- 1 gauss gauss       490 Oct 16  2024 GaussDB-Kernel_505.2.0.B031_Server_ARM_Centralized.tar.gz.asc
-rw-r--r-- 1 gauss gauss      8200 Oct 16  2024 GaussDB-Kernel_505.2.0.B031_Server_ARM_Centralized.tar.gz.hwp7s
-rw-r--r-- 1 gauss gauss      8690 Oct 16  2024 GaussDB-Kernel_505.2.0.B031_Server_ARM_Centralized.tar.gz.p7s
-rw-r--r-- 1 gauss gauss    100506 Oct 16  2024 GaussDB-Kernel_505.2.0.B031_Server_ARM_Centralized.tar.gz.swbom
-rw-r--r-- 1 gauss gauss       490 Oct 16  2024 GaussDB-Kernel_505.2.0.B031_Server_ARM_Centralized.tar.gz.swbom.asc
-rw-r--r-- 1 gauss gauss      8690 Oct 16  2024 GaussDB-Kernel_505.2.0.B031_Server_ARM_Centralized.tar.gz.swbom.p7s

[gauss@anbob_com Euler2.10_arm_64]$ tar -zxvf GaussDB-Kernel_505.2.0.B031_Server_ARM_Centralized.tar.gz
GaussDB-Kernel_505.2.0_Euler_64bit.tar.gz
GaussDB-Kernel_505.2.0_Euler_64bit_CM_Symbol.tar.gz
GaussDB-Kernel_505.2.0_Euler_64bit_DBMind.tar.gz
GaussDB-Kernel_505.2.0_Euler_64bit_Gds.tar.gz
GaussDB-Kernel_505.2.0_Euler_64bit_Go.tar.gz
GaussDB-Kernel_505.2.0_Euler_64bit_Gsql.tar.gz
GaussDB-Kernel_505.2.0_Euler_64bit_Jdbc.tar.gz
GaussDB-Kernel_505.2.0_Euler_64bit_Libpq.tar.gz
GaussDB-Kernel_505.2.0_Euler_64bit_Libpq_Static.tar.gz
GaussDB-Kernel_505.2.0_Euler_64bit_Odbc.tar.gz
GaussDB-Kernel_505.2.0_Euler_64bit_Python.tar.gz
GaussDB-Kernel_505.2.0_Euler_64bit_Symbol.tar.gz
GaussDB-Kernel_505.2.0_Euler_64bit_Xbsa.tar.gz
GaussDB-Kernel_505.2.0_Windows_X64_Odbc.tar.gz
GaussDB-Kernel_505.2.0_Windows_X86_Odbc.tar.gz
-- 带了一些开发语言使用的驱动程序, 继续解压

[gauss@anbob_com Euler2.10_arm_64]$ tar -zxvf GaussDB-Kernel_505.2.0_Euler_64bit.tar.gz
./GaussDB-Kernel_505.2.0_Euler_64bit.bin
./GaussDB-Kernel_505.2.0_Euler_64bit.sha256
./components/
...


[gauss@anbob_com Euler2.10_arm_64]$ ll
total 2011848
drwxr-xr-x 3 gauss gauss        16 Sep 20  2024 components
drwxr-xr-x 4 gauss gauss        28 Sep 20  2024 dependency
-rw-r--r-- 1 gauss gauss  32547077 Oct 16  2024 GaussDB-Kernel_505.2.0.B031_Om_ARM_Centralized.tar.gz
-rw-r--r-- 1 gauss gauss       490 Oct 16  2024 GaussDB-Kernel_505.2.0.B031_Om_ARM_Centralized.tar.gz.asc
-rw-r--r-- 1 gauss gauss      8200 Oct 16  2024 GaussDB-Kernel_505.2.0.B031_Om_ARM_Centralized.tar.gz.hwp7s
...
-rw-r--r-- 1 gauss gauss      8690 Oct 16  2024 GaussDB-Kernel_505.2.0.B031_Server_ARM_Centralized.tar.gz.swbom.p7s
-rwx------ 1 gauss gauss  74259768 Sep 20  2024 GaussDB-Kernel_505.2.0_Euler_64bit.bin
...

[gauss@anbob_com Euler2.10_arm_64]$ ./GaussDB-Kernel_505.2.0_Euler_64bit.bin

7-Zip SFX 17.05 : Copyright (c) 1999-2021 Igor Pavlov : 2017-08-28
p7zip Version 17.05 (locale=en_US.UTF-8,Utf16=on,HugeFiles=on,64 bits,8 CPUs LE)


Extracting archive: ./GaussDB-Kernel_505.2.0_Euler_64bit.bin
--
Path = ./GaussDB-Kernel_505.2.0_Euler_64bit.bin
Type = 7z

Everything is Ok

Note:
到此步解压完成

配置环境变量

[gauss@anbob_com ~]$ vi .bash_profile

export GAUSSHOME=/home/gauss/Euler2.10_arm_64
export PGDATA=$GAUSSHOME/data
export PATH=$GAUSSHOME/bin:$PATH
export LD_LIBRARY_PATH=$GAUSSHOME/lib:$LD_LIBRARY_PATH
export PGPORT=9564

[gauss@anbob_com ~]$ . .bash_profile

Note:
软件目录不建议带符号,后面安装时有提示路径问题。

初始化安装数据库

[gauss@anbob_com ~]$ cd $GAUSSHOME
[gauss@anbob_com Euler2.10_arm_64]$ 

[gauss@anbob_com Euler2.10_arm_64]$ mkdir data log
[gauss@anbob_com Euler2.10_arm_64]$ which gs_initdb
/home/gauss/Euler2.10_arm_64/bin/gs_initdb
[gauss@anbob_com Euler2.10_arm_64]$ gs_initdb -D $GAUSSHOME/data -X $GAUSSHOME/log
gs_initdb: GaussDB node name is mandatory

[gauss@anbob_com Euler2.10_arm_64]$ gs_initdb -D $GAUSSHOME/data -X $GAUSSHOME/log --nodename=anbob_com
gs_initdb: GaussDB node name:anbob_com is invalid.
The node name must consist of lowercase letters (a-z), underscores (_), special characters #, digits (0-9), or dollar ($).
The node name must start with a lowercase letter (a-z), or an underscore (_).
The max length of nodename is 64.
[gauss@anbob_com Euler2.10_arm_64]$ gs_initdb -D $GAUSSHOME/data -X $GAUSSHOME/log --nodename=anbob
The files belonging to this database system will be owned by user "gauss".
This user must also own the server process.

The database cluster will be initialized with locale "en_US.UTF-8".
The default database encoding has accordingly been set to "UTF8".
The default text search configuration will be set to "english".

fixing permissions on existing directory /home/gauss/Euler2.10_arm_64/data ... ok
fixing permissions on existing directory /home/gauss/Euler2.10_arm_64/log ... ok
creating subdirectories ... ok

selecting default max_connections ... 100
selecting default shared_buffers ... 32MB
creating configuration files ... ok
Begin init undo subsystem meta.
[INIT UNDO] Init undo subsystem meta successfully.
creating template1 database in /home/gauss/Euler2.10_arm_64/data/base/1 ... The core dump path is an invalid directory
ok
initializing pg_authid ... ok
setting password ... ok
initializing dependencies ... ok
loading PL/pgSQL server-side language ... ok
creating system views ... ok
creating others system views ... ok
creating private system views ... ok
creating others private system views ... ok
creating performance views ... ok
loading system objects' descriptions ... ok
creating collations ... ok
creating conversions ... ok
creating dictionaries ... ok
setting privileges on built-in objects ... ok
initialize global configure for bucketmap length ... ok
initialize storage type for undo subsystem ... ok
creating information schema ... ok
loading foreign-data wrapper for distfs access ... ok
loading packages extension ... ok
loading foreign-data wrapper for log access ... ok
loading hstore extension ... ok
loading numeric extension ... ok
loading security plugin ... ok
loading gsstat plugin ... ok
loading dblink_fdw extension ... ok
update system tables ... ok
creating snapshots catalog ... ok
vacuuming database template1 ... ok
creating templatea database in /home/gauss/Euler2.10_arm_64/data/base/3 ... The core dump path is an invalid directory
ok
...
...
finialize templatem ... ok
vacuuming database templatem ... ok
freezing database templatem ... ok
executing logical dictionary baseline for database templatem ... ok
executing logical dictionary baseline for database template1 ... ok
executing logical dictionary baseline for database template0 ... ok
executing logical dictionary baseline for database templatea ... ok
executing logical dictionary baseline for database postgres ... ok

WARNING: enabling "trust" authentication for local connections
You can change this by editing gs_hba.conf or using the option -A, or
--auth-local and --auth-host, the next time you run gs_initdb.

Success. You can now start the database server of single node using:

    gaussdb -D /home/gauss/Euler2.10_arm_64/data --single_node
or
    gs_ctl start -D /home/gauss/Euler2.10_arm_64/data -Z single_node -l logfile

启动数据库

[gauss@anbob_com Euler2.10_arm_64]$ gs_ctl start -D /home/gauss/Euler2.10_arm_64/data -Z single_node -l logfile
[2025-04-29 17:38:59.835][817927][][gs_ctl]: gs_ctl started,datadir is /home/gauss/Euler2.10_arm_64/data
[2025-04-29 17:39:00.100][817927][][gs_ctl]: waiting for server to start...
..
[2025-04-29 17:39:02.124][817927][][gs_ctl]:  done
[2025-04-29 17:39:02.124][817927][][gs_ctl]: server started (/home/gauss/Euler2.10_arm_64/data)
[gauss@anbob_com Euler2.10_arm_64]$ ps -ef|grep gauss
root      805128  797176  0 17:14 pts/0    00:00:00 su - gauss
gauss     805129  805128  0 17:14 pts/0    00:00:00 -bash
gauss     817932       1 62 17:38 pts/0    00:00:05 /home/gauss/Euler2.10_arm_64/bin/gaussdb -D /home/gauss/Euler2.10_arm_64/data

连接数据库

[gauss@anbob_com Euler2.10_arm_64]$ gsql
gsql: FATAL:  database "gauss" does not exist
[gauss@anbob_com Euler2.10_arm_64]$ gsql postgres
gsql ((GaussDB Kernel 505.2.0 build 82d715e8) compiled at 2024-09-20 00:15:22 commit 9967 last mr 19883 release)
Non-SSL connection (SSL connection is recommended when requiring high-security)
Type "help" for help.

gaussdb=# \l
ERROR:  Please use "ALTER ROLE "gauss" PASSWORD 'password';" to set the password of the user before other operations!

gaussdb=# ALTER ROLE "gauss" PASSWORD 'anbob_com';
ERROR:  Password must contain at least three kinds of characters.
gaussdb=# ALTER ROLE "gauss" PASSWORD 'Anbob.com';
ALTER ROLE
gaussdb=# \l
                              List of databases
   Name    | Owner | Encoding |   Collate   |    Ctype    | Access privileges
-----------+-------+----------+-------------+-------------+-------------------
 postgres  | gauss | UTF8     | en_US.UTF-8 | en_US.UTF-8 |
 template0 | gauss | UTF8     | en_US.UTF-8 | en_US.UTF-8 | =c/gauss         +
           |       |          |             |             | gauss=CTc/gauss
 template1 | gauss | UTF8     | en_US.UTF-8 | en_US.UTF-8 | =c/gauss         +
           |       |          |             |             | gauss=CTc/gauss
 templatea | gauss | UTF8     | en_US.UTF-8 | en_US.UTF-8 | =c/gauss         +
           |       |          |             |             | gauss=CTc/gauss
 templatem | gauss | UTF8     | en_US.UTF-8 | en_US.UTF-8 | =c/gauss         +
           |       |          |             |             | gauss=CTc/gauss
(5 rows)

gaussdb=# create database anbob;
CREATE DATABASE
gaussdb=# create database gauss;
CREATE DATABASE

[gauss@anbob_com data]$ gsql
gsql ((GaussDB Kernel 505.2.0 build 82d715e8) compiled at 2024-09-20 00:15:22 commit 9967 last mr 19883 release)
Non-SSL connection (SSL connection is recommended when requiring high-security)
Type "help" for help.

gauss=# create user anbob with password 'Anbob.com' ;
CREATE ROLE

gauss=# grant all privileges to anbob;
ALTER ROLE

[gauss@anbob_com data]$ gsql anbob -d gauss
Password for user anbob: xxxxxxx
gsql ((GaussDB Kernel 505.2.0 build 82d715e8) compiled at 2024-09-20 00:15:22 commit 9967 last mr 19883 release)
Non-SSL connection (SSL connection is recommended when requiring high-security)
Type "help" for help.

gauss=# select version();
                                                      version
-------------------------------------------------------------------------------------------------------------------
 gaussdb (GaussDB Kernel 505.2.0 build 82d715e8) compiled at 2024-09-20 00:15:22 commit 9967 last mr 19883 release
(1 row)

gauss=# select sysdate from dual;
       sysdate
---------------------
 2025-04-29 18:02:23
(1 row)

— done —

打赏

,

目前这篇文章还没有评论(Rss)

我要评论