人间大炮4:基于openEular的数据库openGauss的安装(超详细版安装) 2024-04-29 18:26:20 0 0 由于没接触过的Linux系统的人首次接触这样的系统 还要在这样系统下安装openGauss实在是太难了! 前人栽树后人乘凉,用了两天终于肝出来了!当然是有老师给我们教程的帮助! 话先放前头这个安装需要的时间因人而异,熟悉Linux得快!但是不熟悉得估计要搞很长时间,建议先看完这个教程多看几遍再下手!!! 如果你真的需要想要装opengauss这篇就够了!按步骤来! Win10 /11环境下使用VMware Workstation 16安装openGauss 3.1.0 Lite(轻量版) 一、基础环境要求 硬件条件:内存16G 操作系统:Win10/Win11 虚拟机软件:VMware Workstation 16,应已安装 openGauss运行系统:openEuler(欧拉操作系统)22.09 二、虚拟机环境设置 1.OpenEuler系统安装与设置 1.1 下载openEuler系统光盘映像文件。 https://repo.openeuler.org/openEuler-22.09/ISO/ 1.2 创建虚拟机 文件–>新建虚拟机–>自定义(高级)–>虚拟机应检兼容性(workstation 16.x) –>安装客户机操作系统(安装程序光盘映像文件–>选择下载的openEuler光盘ISO文件) –>客户机操作系统(linux,版本:其他Linux 5.x 内核64位) –>命名虚拟机(自己取名,比如openEuler 20.03 LTS) –>处理器配置(1处理器-4内核)–>虚拟机内存(8G)–>网络类型(NAT) –>IO控制器(LSI Logic)–>磁盘类型(SCSI) –>选择磁盘(创建新虚拟磁盘)–>磁盘容量(120,不用担心一下就占用120G,将虚拟磁盘拆分成多个文件)–>指定磁盘文件(下一步) –>完成 –>针对创建的虚拟机“编辑虚拟机设置”–>“选项”–>“共享文件夹”–>“总是启用”–>“添加…”(添加文件夹,比如“下载”文件夹,名称为Downloads) –>开启此虚拟机–>Test this media & install openEuler 22.09 –>安装过程使用“中文” –>继续–>安装目的地(自动分区)–>根密码(设置root密码,千万要自己记住,建议符合要求的简单密码) –>软件选择(服务器: 硬件监控工具+性能工具+linux的远程管理+windows文件服务器+开发工具+无图形终端系统管理工具+传统unix兼容性+安全性工具+系统工具,注意不能最小安装,否则连最基本要用到的ifconfig和tar都没有) –>网络和主机名(–>启用,千万注意记住IP地址+网关+DNS。我的ip是192.168.176.134,网关是192.168.176.2,网关:192.168.176.2。 因为是NAT,所以会使用vmware创建的内部网络,和宿主机的外部网络不在一个网段)–>修改主机名–>完成 –>开始安装–>等待完成 –>重启系统–>用root登录系统–>点击VMware弹出的“我已完成安装”–>在shell中执行shutdown now关机。 1.3 Vmware-Tools安装 启动虚拟机中的openEuler–>以root身份登录 –>点击Vmware软件的“虚拟机”菜单项–>“安装Vmware Tools”(Vmware会替换虚拟光驱中的光盘映像文件) –>(挂载vmware-tools光盘映像文件) mkdir /dev/cdrom /mnt/cdrom -> mount -t iso9660 /dev/cdrom /mnt/cdrom (注意:dev/cdrom和/mnt/cdrom之间要有空格) ->输入:ls /mnt/cdrom 查看自己的vmware tools版本 要记得该自己的版本号!!!VMwareTools-10.3.23-16594550是不一样的 –>(复制安装文件到当前用户目录)cp /mnt/cdrom/VMwareTools-10.3.23-16594550.tar.gz ~/ ->cd /root ->(解压缩文件)tar -xzf VMwareTools-10.3.23-16594550.tar.gz –>(安装)cd vmware-tools-distrib -> ./vmware-install.pl ->一路按enter按默认执行 1.4 共享文件夹设置(如果1.2中没做,此处设置) 编辑虚拟机设置–>选项–>共享文件夹–>总是启用–>添加–>下一步–>浏览–>指定一个宿主系统文件夹(比如下载目录)–>下一步–>确保选上“启用此共享”–>完成 输入命令vmware-hgfsclient查看共享目录是否已经设置成功 如果出现目录(比如Downloads)说明共享目录设置成功 使用如下命令挂载共享文件夹 sudo vmhgfs-fuse .host:/ /mnt/hgfs -o allow_other -o nonempty 检查共享文件夹是否可用 执行后,去/mnt/hgfs目录下能看到刚刚在主机设定的共享文件夹,在主机中在该文件夹放入文件,若在openEuler中文件夹下能看到文件,即表明配置成功! 但是这种挂载每次关机就会失效,我们还得重新执行一次挂载命令。 自动挂载共享目录 用vim打开/etc/fstab文件,添加一行挂载信息 vi /etc/fstab 键入o在下一行插入 .host:/ /mnt/hgfs fuse.vmhgfs-fuse nonempty,allow_other,defaults 0 0 然后 Esc–>Shift+z 保存退出 使用mount -a指令让刚刚写入的挂载信息立即生效。 1.5 openEuler上网环境设置 vi /etc/sysconfig/network-scripts/ifcfg-ens33 按照如下内容修改,openEuler默认不适用ipv4,而使用ipv6。通过修改将ipv6内容统统修改为no,并根据先前安装系统时所看到的网络设置信息设定ipv4设置(注意设置为静态ip地址)。 TYPE=Ethernet PROXY_METHOD=none BROWSER_ONLY=no BOOTPROTO=static DEFROUTE=yes IPV4_FAILURE_FATAL=yes IPV6INIT=no IPV6_AUTOCONF=no IPV6_DEFROUTE=no IPV6_FAILURE_FATAL=no IPV6_ADDR_GEN_MODE=stable-privacy NAME=ens33 UUID=XXXXXXX #此行不改动,保持自己机器的设置 DEVICE=ens33 ONBOOT=yes IPADDR=192.168.176.134 //自己的IP NETMASK=255.255.255.0 GATEWAY=192.168.176.2 //自己的默认网关 DNS1=192.168.176.2 //可以8.8.8.8 DNS2=202.118.66.6 //可以114.114.114.114 IPV6_PRIVACY=no 设置完毕后存盘退出,reboot 重启后,ping以下百度,看看是否能ping通。 如果能ping通说明虚拟机中的openEuler系统已经可以联网。 2. openGauss支撑环境设置 2.1 设置openGauss安装脚本要求环境(人间大炮一级准备) 提示:以下操作都以root用户身份运行。 (1)安装 libaio等软件包 软件依赖包安装 yum install flex bison ncurses-devel glibc-devel patch readline-devel libnsl libaio* -y (2)关闭操作系统防火墙 为了在防火墙开启的状态下,确保openGauss轻量版的正常使用。用户需要将轻量版相关的服务、协议、IP以及端口添加到主机的防火墙白名单中。 目前仅支持在防火墙关闭的状态下进行安装。 检查防火墙是否关闭。 systemctl status firewalld 若防火墙状态显示为active (running),则表示防火墙未关闭,请执行4; 若防火墙状态显示为inactive (dead),则无需再关闭防火墙。 关闭防火墙。 systemctl disable firewalld.service systemctl stop firewalld.service 检查防火墙是否关闭。 systemctl status firewalld (3)设置字符集参数 将各数据库节点的字符集设置为相同的字符集,可以在/etc/profile文件中添加”export LANG=XXX”(XXX为Unicode编码)。 echo "export LANG=XXX" >> /etc/profile (4)关闭swap交换内存 关闭swap交换内存是为了保障数据库的访问性能,避免把数据库的缓冲区内存淘汰到磁盘上。 如果服务器内存比较小,内存过载时,可打开swap交换内存保障正常运行。 使用swapoff -a命令将交换内存关闭 (5)关闭RemoveIPC 修改/etc/systemd/logind.conf文件中的“RemoveIPC“值为“no“。 vi /etc/systemd/logind.conf 将RemoveIPC=no的注释去掉. 修改/usr/lib/systemd/system/systemd-logind.service文件中的“RemoveIPC“值为“no“。 vi /usr/lib/systemd/system/systemd-logind.service 在[Service]节末尾添加RemoveIPC=no 重新加载配置参数。 systemctl daemon-reload systemctl restart systemd-logind 检查修改是否生效。 loginctl show-session | grep RemoveIPC systemctl show systemd-logind | grep RemoveIPC (6)设置网卡 MTU 值 ifconfig ens33 mtu 8192 2.2 openGauss安装用户准备(人间大炮二级准备) 提示:以下操作都以root用户身份运行。 (1)创建安装目录 mkdir -p /opt/software/openGauss (2)设置数据库用户及用户组 创建用户组dbgroup。 groupadd dbgroup 创建用户组dbgroup下的普通用户omm,并设置密码为Gauss_234。(建议后续所有密码设置一样,避免出现遗忘的情况) useradd -g dbgroup omm passwd omm 将omm设置为sudoer vi /etc/sudoers 修改 /etc/sudoers 文件,找到下面一行,在 root 下面添加一行,如下所示: ## Allow root to run any commands anywhere root ALL=(ALL) ALL omm ALL=(ALL) ALL 为omm用户赋予软件目录权限 chmod -R 775 /opt/software/ chown omm:dbgroup /opt/software -R 3. openGauss正式安装 提示:以下操作都以omm用户身份运行。 (1)使用omm登录系统 (2)下载openGauss安装文件(也可以通过共享目录将文件拷贝到omm用户目录) sudo wget https://opengauss.obs.cn-south-1.myhuaweicloud.com/3.1.1/x86_openEuler/openGauss-Lite-3.1.1-openEuler-x86_64.tar.gz (3)拷贝解压文件 解压openGauss压缩包到安装目录。 sudo tar -xzvf openGauss-Lite-3.1.1-openEuler-x86_64.tar.gz -C /opt/software/openGauss (4) 创建安装目录,数据目录 cd /opt/software/openGauss mkdir data mkdir install (5) 安装openGauss cd /opt/software/openGauss/ sudo echo Gauss_234 | sh ./install.sh --mode single -D ./data -R ./install --start (如果遇到没有执行install.sh权限的提示,切换为root用户登录,重新执行一次 chown omm:dbgroup /opt/software -R) (6)使得环境变量生效 source /home/omm/.bashrc (7)检查安装是否成功 安装执行完成后,使用ps和gs_ctl查看进程是否正常。 ps ux | grep gaussdb gs_ctl query -D /opt/software/openGauss/data (8)关闭数据库,重启系统 gs_ctl stop -D /opt/software/openGauss/data sudo reboot 4. 数据库设置 提示:以下操作都以omm用户身份运行。 4.1 以omm用户登录系统 4.2 设置数据库配置文件 (1)设置postgresql.conf vi /opt/software/openGauss/data/postgresql.conf 找到对应内容,添加信息变为如下形态: listen_addresses= 'localhost,192.168.176.134' ssl=off #ssl_ciphers ='ALL' port = 5432 (注意:192.168.176.134是虚拟机的NAT下的IP地址,根据自己的情况修改,参见最开始的虚拟机设置章节中让记下来的地址。如果当时忘记了,可点击虚拟机菜单中的”编辑“-->"虚拟网络编辑器"-->点击NAT模式所在行-->下方"更改设置"按钮-->授权后查看或设置) (2)设置pg_hba.conf 打开pg_hba.conf文件 vi /opt/software/openGauss/data/pg_hba.conf 找到如下信息 # IPv4 local connections: 在如下行的下面 host all 127.0.0.1/32 trust 添加(注意192.168.176.134是虚拟机的NAT下的IP地址,根据自己的情况修改,参见最开始的虚拟机设置章节中让记下来的地址。如果当时忘记了,可点击虚拟机菜单中的”编辑“–>“虚拟网络编辑器”–>点击NAT模式所在行–>下方"更改设置"按钮–>授权后查看或设置) host all 192.168.176.134/32 sha256 host all 0.0.0.0/0 sha256 4.3 启动数据库 gs_ctl start -D /opt/software/openGauss/data 4.4 创建用于远程连接的数据库用户 创建数据库用户是为用于第三方软件通过网络连接openGauss。openGauss不允许使用omm用户(openGauss默认的管理员用户)来远程连接数据库。 (1)利用服务器上的gsql连接数据库 数据库安装完成后,默认生成名称为postgres的数据库。第一次连接数据库时可以连接到此数据库。执行如下命令连接数据库。 gsql -d postgres -p 5432 其中,postgres为需要连接的数据库名称,5432为数据库默认安装的端口号。 omm用户是管理员用户,因此系统显示“DBNAME=#”。若使用普通用户身份登录和连接数据库,系统显示“DBNAME=>”。提示符告诉您openGauss准备为您输入SQL语句。 “Non-SSL connection”表示未使用SSL方式连接数据库。 可以选择(作为学习用途可以忽略)首次登录建议修改密码以提高安全性。命令如下。 openGauss=# ALTER ROLE omm IDENTIFIED BY ‘XXXXXXXX’ REPLACE ‘XXXXXXXX’; (2)创建一个新的业务数据库 如果要使用第三方连接,需要单独创建一个用户,不能使用omm用户进行远程连接。首先要创建一个数据库。 CREATE DATABASE opengauss ENCODING 'UTF-8' template = template0; (3)创建数据库用户–opengauss create user opengauss password 'Gauss_234'; 首次登录建议修改密码以提高安全性。命令如下。 openGauss=# ALTER ROLE opengauss IDENTIFIED BY ‘你的密码’ REPLACE ‘Gauss_234’; (4)将数据库 opengauss 的所属者改为opengauss alter database opengauss owner to opengauss; (5)将系统权限授权给用户或者角色 GRANT ALL PRIVILEGES TO opengauss; 至此,可以通过第三方工具,使用用户名opengauss,密码Gauss_234连接虚拟机上的openGauss服务器了。 建议在win10上安装opengauss官网提供的data studio(要求安装java11及以上) Omm用户进入,修改根目录下面的启动文件,实现自启动 vi .bash_profile 加入: gs_ctl start -D /opt/software/openGauss/data 使用gaussdba用户启动Gaussdb,启动失败,报错:gs_ctl: invalid data in pid file “/opt/GaussDB/data/ postmaster.pid”重命名异常DB服务器上的文件/opt/GaussDB/data/postmaster.pid 附上成功的图片: 收藏(0)