Настройка среды openGauss | Руководство для начинающих |

1. Подготовка к строительству

Для разработки OpenGauss требуется использование среды Linux. Сначала загрузите инструмент удаленного подключения Xshell/MobaXterm.

1. Используйте инструменты для подключения к удаленному серверу Linux, удаленно войдите в систему, используя учетную запись root, и создайте личную учетную запись.

useradd -d /home/xxx -m xxx

2. Установите пароль.

passwd xxx

3. Перейдите в личный кабинет и войдите в личный кабинет для будущих подключений.

su - xxx

2. Скомпилируем openGauss-сервер

Для компиляции openGauss-server требуется исходный код openGauss-server и сторонний репозиторий программного обеспечения openGauss- Third_party, от которого он зависит.

Создайте папку со своим собственным именем в качестве рабочего каталога в корневом каталоге /data/, войдите в папку и загрузите последний исходный код openGauss-сервера. Рекомендуется сначала выполнить форк на свой собственный склад gitee, а затем загрузить его. код, чтобы облегчить последующую разработку сообщества, процесс интеграции кода, изменение кода и отправку PR.

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

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

Два способа получения сторонних программных инструментов

1. Компиляция исходного кода

Это стороннее программное обеспечение с открытым исходным кодом хранится на складе openGauss- Third_party. Пользователи могут скомпилировать код после его извлечения, обычно только один раз. Если версия программного обеспечения с открытым исходным кодом обновлена, ее необходимо пересобрать.

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

 2. Используйте напрямую скомпилированные и собранные файлы.

Поскольку компиляция и создание программного обеспечения с открытым исходным кодом занимает много времени, сообщество предоставляет пользователям для загрузки двоичные файлы, скомпилированные тремя платформами.

● 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.

Мы можем загрузить версию сжатого пакета openEuler_arm, использовать инструмент Xftp, чтобы перенести его в рабочий каталог, распаковать и переименовать, присвоив ему фиксированное имя.

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

После того, как исходный код готов, его можно скомпилировать.

Два метода компиляции

1. Компиляция скрипта в один клик.

Используйте встроенные скрипты для компиляции.

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

Процесс выполнения будет продолжаться без ответа в течение 5–10 минут, и журнал будет автоматически выведен. Наконец, будет отображено следующее содержимое, указывающее, что компиляция прошла успешно.

make успешно скомпилировался!

Импортируйте переменные среды для последующей инициализации и запуска базы данных.

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. Ручная компиляция.

cd openGauss-сервер

Настроенные переменные среды немного отличаются от переменных компиляции сценария в один клик.

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

Выберите версию для настройки

Три целевых версии на выбор

Release: представляет собой двоичную программу, которая генерирует версию выпуска. При компиляции этой версии настройте параметры оптимизации высокого уровня GCC и удалите код отладки ядра. Обычно он используется в производственных средах или средах тестирования производительности.

debug: представляет собой двоичную программу, генерирующую отладочную версию. При компиляции этой версии добавляется функция отладки кода ядра, которая обычно используется для разработки среды самотестирования.

memcheck: представляет собой двоичную программу, генерирующую версию memcheck. При компиляции этой версии по существу добавляется функция ASAN на основе отладочной версии. Эта версия обычно используется для обнаружения проблем с памятью.

отладочная версия:

./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

Версия выпуска:

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

версия мемчека:

./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

Начать компиляцию

make -sj4
make install -sj4

-s указывает на тихий режим, и некоторая информация о компиляции не будет напечатана.

Если вы используете параметр -j, make будет продолжать увеличивать количество параллельных вычислений при выполнении, и иногда вы будете сталкиваться с ошибкой «невозможно выделить память». Обычно число, которое вы можете указать после параметра -j, — это количество процессоров X2. Если среда компиляции — 4CPU, для компиляции можно использовать параметр make -j8.

Следующее содержимое отображается для обозначения успешной компиляции.

openGauss InstallationGuide complete

3. Компиляция openGauss-OM

openGauss-OM — это модуль управления эксплуатацией и обслуживанием (OperationManager), который предоставляет интерфейсы управления и инструменты для ежедневного обслуживания и управления конфигурацией openGauss.

После компиляции исходного кода в хранилище кода openGauss-сервера gs_om нет. Вам необходимо скомпилировать openGauss-OM отдельно, скопировать скомпилированный пакет openGauss-xxx-om.tar.gz в каталог, где находится установочный пакет openGauss-сервера, а затем установить его согласно корпоративной версии.

Шаги

1. Загрузите репозиторий кода.

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

2. Выполните компиляцию.

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

Отображается следующее содержимое, указывающее на успешную компиляцию gauss-OM.

ROOT_DIR:XXXXX
Everything is ready.
success!

Войдите в каталог пакета, скопируйте скомпилированный пакет openGauss-xxx-om.tar.gz в каталог, где находится установочный пакет openGauss-server, а затем установите его согласно корпоративной версии.

4. Скомпилируйте установочный пакет продукта.

Этот шаг заключается в создании установочного пакета программного обеспечения openGauss. Процесс компиляции и упаковки установочного пакета также интегрирован в build.sh.

Шаги

1. Войдите в каталог openGauss-server.

2. Выполните команду для компиляции инсталляционного пакета.

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

3. Отображается следующее содержимое, указывающее на то, что установочный пакет скомпилирован.

make server(all) package success!

4. Упакованный установочный пакет сохраняется в каталоге ./output.

5. Проверка после компиляции

После компиляции скомпилированный openGauss можно проверить следующим образом:

1. Создайте каталог данных и каталог журналов.

mkdir ~/data
mkdir ~/log

2. Инициализация базы данных.

gs_initdb -D ~/data --nodename=db1

3. Запустите сервер базы данных.

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

4. Введите сервер базы данных.

После завершения установки базы данных по умолчанию будет создана база данных с именем postgres. Вы можете подключиться к этой базе данных для тестирования.

gsql -d postgres

После успешного подключения отобразится информация, подобная следующей.

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

5. Используйте openGauss.

5.1 Создайте пользователя базы данных.

CREATE USER XXX WITH PASSWORD "xxxxxxx";

5.2 Назначьте пользователя системным администратором.

GRANT ALL PRIVILEGES TO xxx;

5.3 Создать базу данных.

CREATE DATABASE db_tpcc OWNER XXX;

5.4 После создания базы данных db_tpcc вы можете выйти из базы данных postgres следующим образом и использовать нового пользователя для подключения к базе данных db_tpcc для выполнения создания таблиц и других операций.

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

5.5 Создайте СХЕМУ.

CREATE SCHEMA test AUTHORIZATION XXX;

5.6 Создание таблиц.

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

5.7 Вставьте данные в таблицу.

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

5.8 Просмотрите данные в таблице.

SELECT * FROM mytable;

6. Резюме

openGauss — это система управления реляционными базами данных с открытым исходным кодом, выпущенная под лицензией Mulan Permissive License v2. Ядро openGauss глубоко интегрирует многолетний опыт Huawei в области баз данных в сочетании с потребностями сценариев корпоративного уровня для постоянного создания конкурентоспособных функций. 

На этом сегодня все, добро пожаловать в общение~ 

Товарищ-цыпленок «открыл исходный код» Deepin-IDE и наконец-то добился начальной загрузки! Хороший парень, Tencent действительно превратила Switch в «мыслящую обучающуюся машину». Обзор сбоев Tencent Cloud от 8 апреля и объяснение ситуации. Реконструкция запуска удаленного рабочего стола RustDesk. Веб-клиент . Терминальная база данных с открытым исходным кодом WeChat на основе SQLite. WCDB положила начало серьезному обновлению. Апрельский список TIOBE: PHP упал до рекордно низкого уровня, Фабрис Беллард, отец FFmpeg, выпустил инструмент сжатия звука TSAC , Google выпустил большую модель кода CodeGemma , она вас убьет? Это так хорошо, что это инструмент с открытым исходным кодом - инструмент для редактирования изображений и плакатов с открытым исходным кодом.
{{o.name}}
{{m.name}}

рекомендация

отmy.oschina.net/gaussdb/blog/11052552
рекомендация