Configuração do ambiente openGauss | Guia para iniciantes

1. Preparação para construção

O desenvolvimento do OpenGauss requer o uso de um ambiente Linux. Primeiro baixe a ferramenta de conexão remota Xshell/MobaXterm.

1. Use ferramentas para conectar-se ao servidor Linux remoto, faça login remotamente usando a conta root e crie uma conta pessoal.

useradd -d /home/xxx -m xxx

2. Defina uma senha.

passwd xxx

3. Mude para sua conta pessoal e faça login com sua conta pessoal para conexões futuras.

su - xxx

2. Compile o servidor openGauss

A compilação do openGauss-server requer o código-fonte do openGauss-server e o repositório de software de terceiros openGauss-third_party do qual ele depende.

Crie uma pasta com seu próprio nome como diretório de trabalho no diretório raiz /data/, entre na pasta e extraia o código-fonte mais recente do openGauss-server. É recomendado primeiro bifurcar para seu próprio armazém gitee e, em seguida, extrair o. código para facilitar o processo subsequente de integração da comunidade, modificar o código e enviar PR.

mkdir xxx
cd xxx
git clone https://gitee.com/opengauss/openGauss-server.git

openGauss的编译,需要提前把所依赖的开源第三方软件进行编译和构建。

Duas maneiras de obter ferramentas de software de terceiros

1. Compilação do código-fonte

Esses softwares de terceiros de código aberto são armazenados no armazém openGauss-third_party. Os usuários podem compilar o código após extraí-lo, geralmente apenas uma vez. Se a versão do software de código aberto for atualizada, ela precisará ser reconstruída.

git clone https://gitee.com/opengauss/openGauss-third_party.git
cd openGauss-third_party/build
sh build_all.sh

 2. Use diretamente os arquivos compilados e construídos

Como a compilação e construção de software de código aberto leva muito tempo, a comunidade fornece arquivos binários compilados por três plataformas para download pelos usuários.

● openEuler_arm : https://opengauss.obs.cn-south-1.myhuaweicloud.com/5.0.0/binarylibs/openGauss-third_party_binarylibs_openEuler_arm.tar.gz

● openEuler_x86 : https://opengauss.obs.cn-south-1.myhuaweicloud.com/5.0.0/binarylibs/openGauss-third_party_binarylibs_openEuler_x86_64.tar.gz

● Centos_x86 : https://opengauss.obs.cn-south-1.myhuaweicloud.com/5.0.0/binarylibs/openGauss-third_party_binarylibs_Centos7.6_x86_64.tar.gz

Podemos baixar a versão openEuler_arm do pacote compactado, usar a ferramenta Xftp para transferi-lo para o diretório de trabalho, descompactá-lo e renomeá-lo com um nome fixo.

tar -zxvf openGauss-third_party_binarylibs_openEuler_arm.tar.gz
mv openGauss-third_party_binarylibs_openEuler_arm binarylibs

Depois que o código-fonte estiver pronto, o código poderá ser compilado.

Dois métodos de compilação

1. Compilação de script com um clique.

Use scripts integrados para compilação.

cd openGauss-server
sh build.sh -m release -3rd /data/meicheng/opengauss_src/install/binarylibs  
#debug版将release换成debug

O processo de execução continuará sem resposta por 5 a 10 minutos e o log será gerado automaticamente. Finalmente, o seguinte conteúdo será exibido, indicando que a compilação foi bem-sucedida.

faça compilar com sucesso!

Importe variáveis ​​de ambiente para inicialização e inicialização subsequentes do banco de dados.

export CODE_BASE=_________    #openGauss-server的路径
export GAUSSHOME=$CODE_BASE/mppdb_temp_install/
export LD_LIBRARY_PATH=$GAUSSSHOME/lib:$LD_LIBRARY_PATH
export PATH=$GAUSSHOME/bin:$PATH

2. Compilação manual.

cd servidor openGauss

As variáveis ​​de ambiente configuradas são ligeiramente diferentes daquelas da compilação de script com um clique.

export CODE_BASE=_________    #openGauss-server的路径
export BINARYLIBS=_________    #binarylibs的路径
export GAUSSHOME=$CODE_BASE/dest/
export GCC_PATH=$BINARYLIBS/buildtools/gcc7.3/
export CC=$GCC_PATH/gcc/bin/gcc
export CXX=$GCC_PATH/gcc/bin/g++
export LD_LIBRARY_PATH=$GAUSSSHOME/lib:$GCC_PATH/gcc/lib64:$GCC_PATH/isl/lib/:$GCC_PATH/mpc/lib/:$GCC_PATH/mpfr/lib/:$GCC_PATH/gmp/lib/:$LD_LIBRARY_PATH
export PATH=$GAUSSHOME/bin:$GCC_PATH/gcc/bin:$PATH

Selecione a versão para configurar

Três versões de destino para escolher

release: Representa um programa binário que gera uma versão de lançamento. Ao compilar esta versão, configure as opções de otimização de alto nível do GCC e remova o código de depuração do kernel. Geralmente é usado em ambientes de produção ou ambientes de teste de desempenho.

debug: representa um programa binário que gera uma versão de depuração. Quando esta versão é compilada, a função de depuração do código do kernel é adicionada e geralmente é usada para desenvolver um ambiente de autoteste.

memcheck: Representa o programa binário que gera a versão do memcheck. Quando esta versão é compilada, basicamente adiciona a função ASAN com base na versão de depuração. Esta versão geralmente é usada para localizar problemas de memória.

versão de depuração:

./configure --gcc-version=7.3.0 CC=g++ CFLAGS='-O0' 
--prefix=$GAUSSHOME --3rd=$BINARYLIBS --enable-debug 
--enable-cassert --enable-thread-safety 
--with-readline --without-zlib

Versão de lançamento:

./configure --gcc-version=7.3.0 CC=g++ CFLAGS='-O2 
-g3' --prefix=$GAUSSHOME --3rd=$BINARYLIBS 
--enable-cassert --enable-thread-safety 
--with-readline --without-zlib

versão do memcheck:

./configure --gcc-version=7.3.0 CC=g++ CFLAGS='-O0' 
--prefix=$GAUSSHOME --3rd=$BINARYLIBS --enable-debug 
--enable-cassert --enable-thread-safety --with-readline 
--without-zlib --enable-memory-check

Comece a compilar

make -sj4
make install -sj4

-s indica modo silencioso e algumas informações de compilação não serão impressas.

Se você usar o parâmetro -j, o make continuará aumentando o número de simultaneidades durante a execução e, às vezes, você encontrará o erro 'não é possível alocar memória'. Geralmente, o número que você pode especificar após o parâmetro -j é o número de CPUs X2. Se o ambiente de compilação for 4CPU, você poderá usar o parâmetro make -j8 para compilar.

O conteúdo a seguir é exibido para indicar a compilação bem-sucedida.

openGauss InstallationGuide complete

3. compilação openGauss-OM

openGauss-OM é o módulo de gerenciamento de operação e manutenção (OperationManager), que fornece interfaces de gerenciamento e ferramentas para manutenção diária e gerenciamento de configuração do openGauss.

Depois que o código-fonte é compilado no armazém de código do servidor openGauss, não há gs_om. Você precisa compilar o openGauss-OM separadamente, copiar o pacote openGauss-xxx-om.tar.gz compilado para o diretório onde o pacote de instalação do openGauss-server está localizado e, em seguida, instalá-lo de acordo com a versão corporativa.

Passos

1. Baixe o repositório de código.

git clone https://gitee.com/opengauss/openGauss-OM.git

2. Execute a compilação.

ocd openGauss-OM
chmod +x build.sh
export BINARYLIBS=/data/XXX/binarylibs      #这里写你的第三方软件包的文件目录
./build.sh -3rd $BINARYLIBS

O conteúdo a seguir é exibido, indicando que gauss-OM foi compilado com sucesso.

ROOT_DIR:XXXXX
Everything is ready.
success!

Digite o diretório do pacote, copie o pacote openGauss-xxx-om.tar.gz compilado para o diretório onde o pacote de instalação do openGauss-server está localizado e instale-o de acordo com a versão corporativa.

4. Compile o pacote de instalação do produto

Esta etapa é fazer o pacote de instalação do software openGauss. O processo de compilação e empacotamento do pacote de instalação também está integrado no build.sh.

Passos

1. Entre no diretório openGauss-server.

2. Execute o comando para compilar o pacote de instalação.

osh build.sh -m [debug | release | memcheck] -3rd [binarylibs path] -pkg

3. O conteúdo a seguir é exibido para indicar que o pacote de instalação foi compilado.

make server(all) package success!

4. O pacote de instalação empacotado é armazenado no diretório ./output.

5. Verificação pós-compilação

Após a compilação, o openGauss compilado pode ser verificado da seguinte forma:

1. Crie um diretório de dados e um diretório de log.

mkdir ~/data
mkdir ~/log

2. Inicialização do banco de dados.

gs_initdb -D ~/data --nodename=db1

3. Inicie o servidor de banco de dados.

gs_ctl start -D ~/data -Z single_node -l ~/log/opengauss.log

4. Insira o servidor de banco de dados.

Após a conclusão da instalação do banco de dados, um banco de dados chamado postgres será gerado por padrão. Você pode conectar-se a este banco de dados para teste.

gsql -d postgres

Após a conexão ser bem-sucedida, informações semelhantes às seguintes serão exibidas.

gsql(一些版本时间信息)
Non-SSL connection (SSL connection is recommended when requiring high-security)
Type "help" for help
openGauss=#

5. Use openGauss.

5.1 Criar usuário do banco de dados.

CREATE USER XXX WITH PASSWORD "xxxxxxx";

5.2 Defina o usuário como administrador do sistema.

GRANT ALL PRIVILEGES TO xxx;

5.3 Criar banco de dados.

CREATE DATABASE db_tpcc OWNER XXX;

5.4 Após a criação do banco de dados db_tpcc, você pode sair do banco de dados postgres da seguinte maneira e usar um novo usuário para se conectar ao banco de dados db_tpcc para realizar a criação de tabelas e outras operações.

\q      #退出当前数据库
gsql -d db_tpcc -U XXX    #连接数据库db_tpcc

5.5 Criar ESQUEMA.

CREATE SCHEMA test AUTHORIZATION XXX;

5.6 Criar tabelas.

CREATE TABLE mytable (name varchar(16), age int);

5.7 Inserir dados na tabela.

INSERT INTO mytable values("XXX", 18);

5.8 Visualize os dados na tabela.

SELECT * FROM mytable;

6. Resumo

openGauss é um sistema de gerenciamento de banco de dados relacional de código aberto, lançado sob a licença Mulan Permissive v2. O núcleo openGauss integra profundamente os muitos anos de experiência da Huawei no campo de bancos de dados, combinados com as necessidades de cenários de nível empresarial, para construir continuamente recursos competitivos. 

É isso para o compartilhamento de hoje, bem-vindo para comunicar ~ 

Companheiro de frango, deepin-IDE de "código aberto" e finalmente conseguiu a inicialização! Bom cara, a Tencent realmente transformou o Switch em uma "máquina de aprendizagem pensante" Revisão de falhas e explicação da situação da Tencent Cloud em 8 de abril Reconstrução de inicialização de desktop remoto RustDesk Cliente Web Banco de dados de terminal de código aberto do WeChat baseado em SQLite WCDB inaugurou uma grande atualização Lista de abril TIOBE: PHP caiu para o nível mais baixo, Fabrice Bellard, o pai do FFmpeg, lançou a ferramenta de compressão de áudio TSAC , o Google lançou um grande modelo de código, CodeGemma , isso vai te matar? É tão bom que é de código aberto - ferramenta de edição de imagens e pôsteres de código aberto
{{o.nome}}
{{m.nome}}

Acho que você gosta

Origin my.oschina.net/gaussdb/blog/11052552
Recomendado
Clasificación