前言
本文将分享DataKit迁移MySQL到openGauss的项目实战,供广大openGauss爱好者参考。
1. 下载操作系统
https://www.openeuler.org/zh/download
https://support.huawei.com/enterprise/zh/doc/EDOC1100332931/1a643956
https://support.huawei.com/enterprise/zh/doc/EDOC1100332931/fddc1451
1.1. 关闭selinux
[root@olnode01 tmp]# cat /etc/selinux/config
# This file controls the state of SELinux on the system.
# SELINUX= can take one of these three values:
# enforcing - SELinux security policy is enforced.
# permissive - SELinux prints warnings instead of enforcing.
# disabled - No SELinux policy is loaded.
SELINUX=disabled
# SELINUXTYPE= can take one of these three values:
# targeted - Targeted processes are protected,
# minimum - Modification of targeted policy. Only selected processes are protected.
# mls - Multi Level Security protection.
SELINUXTYPE=targeted
1.2. 关闭防火墙
[root@olnode01 tmp]# systemctl status firewalld
● firewalld.service - firewalld - dynamic firewall daemon
Loaded: loaded (/usr/lib/systemd/system/firewalld.service; enabled; vendor preset: enabled)
Active: active (running) since Thu 2023-12-07 20:57:23 CST; 40min ago
Docs: man:firewalld(1)
Main PID: 1013 (firewalld)
Tasks: 2
Memory: 33.2M
CGroup: /system.slice/firewalld.service
└─1013 /usr/bin/python3 /usr/sbin/firewalld --nofork --nopid
Dec 07 20:57:23 olnode01.bluemoon.ltd systemd[1]: Starting firewalld - dynamic firewall daemon...
Dec 07 20:57:23 olnode01.bluemoon.ltd systemd[1]: Started firewalld - dynamic firewall daemon.
[root@olnode01 tmp]# systemctl disable firewalld
Removed /etc/systemd/system/multi-user.target.wants/firewalld.service.
Removed /etc/systemd/system/dbus-org.fedoraproject.FirewallD1.service.
[root@olnode01 tmp]# systemctl stop firewalld
[root@olnode01 tmp]# systemctl status firewalld
● firewalld.service - firewalld - dynamic firewall daemon
Loaded: loaded (/usr/lib/systemd/system/firewalld.service; disabled; vendor preset: enabled)
Active: inactive (dead)
Docs: man:firewalld(1)
Dec 07 20:57:23 olnode01.bluemoon.ltd systemd[1]: Starting firewalld - dynamic firewall daemon...
Dec 07 20:57:23 olnode01.bluemoon.ltd systemd[1]: Started firewalld - dynamic firewall daemon.
Dec 07 21:37:57 olnode01.bluemoon.ltd systemd[1]: Stopping firewalld - dynamic firewall daemon...
Dec 07 21:37:58 olnode01.bluemoon.ltd systemd[1]: firewalld.service: Succeeded.
Dec 07 21:37:58 olnode01.bluemoon.ltd systemd[1]: Stopped firewalld - dynamic firewall daemon.
1.3. 修改字符集
echo export LANG=en_US.UTF-8 >> /etc/profile
1.4. 关闭RemoveIPC
默认RemoveIPC=yes,表示当用户退出时,会删除该用户的共享内存段和信号量。
1.5. 刷新服务
systemctl daemon-reload
systemctl restart systemd-logind
loginctl show-session | grep RemoveIPC
systemctl show systemd-logind | grep RemoveIPC
1.6. 关闭透明大页
echo never >> /sys/kernel/mm/transparent_hugepage/defrag
echo never >> /sys/kernel/mm/transparent_hugepage/enabled
echo 'echo never >> /sys/kernel/mm/transparent_hugepage/defrag' >> /etc/rc.d/rc.local
echo 'echo never >> /sys/kernel/mm/transparent_hugepage/enabled' >> /etc/rc.d/rc.local
sh /etc/rc.d/rc.local
1.7. 安装软件依赖和工具
yum install libaio-devel flex bison ncurses-devel glibc-devel patch readline-devel libnsl -y
yum install tar vim java sysstat -y
# yum remove java-1.8* yum remove java-1.7*
yum install -y java-11-openjdk.x86_64 ava-11-openjdk-devel.x86_64 java-11-openjdk-headless.x86_64 java-11-openjdk-devel.x86_64
1.8. 修改资源使用限制
omm soft nproc 16384
omm hard nproc 16384
omm soft nofile 65536
omm hard nofile 65536
omm soft memlock 4000000
omm hard memlock 4000000
sysctl -p
1.9. 软链接readline
[omm@olnode01 simpleInstall]$ rpm -qa|grep readline
readline-8.0-4.oe1.x86_64
readline-devel-8.0-4.oe1.x86_64
[omm@olnode01 simpleInstall]$ ldconfig -p|grep readline
libreadline.so.8 (libc6,x86-64) => /lib64/libreadline.so.8
libreadline.so (libc6,x86-64) => /lib64/libreadline.so
libguilereadline-v-18.so.18 (libc6,x86-64) => /lib64/libguilereadline-v-18.so.18
libguilereadline-v-18.so (libc6,x86-64) => /lib64/libguilereadline-v-18.so
cd /lib64
ln -s libreadline.so.8 libreadline.so.7
2. 下载openGauss安装包
https://opengauss.obs.cn-south-1.myhuaweicloud.com/5.0.0/x86_openEuler/openGauss-5.0.0-openEuler-64bit-all.tar.gz
下面这个要注意了,一定要下载5.1版本的,5.0版本的运维插件要自己安装
3.创建用户并安装openGauss
3.1. 创建用户组dbgroup。
groupadd dbgroup
3.2. 创建用户组dbgroup下的普通用户omm,并设置普通用户omm的密码,密码建议设置为omm@123。
useradd -g dbgroup omm
passwd omm
3.3. 使用omm用户登录到openGauss包安装的主机,解压openGauss压缩包到安装目录(假定安装目录为/opt/software/openGauss,请用实际值替换)。
# tar -jxf openGauss-x.x.x-操作系统-64bit.tar.bz2 -C /opt/software/openGauss
gzip -d openGauss-5.0.0-openEuler-64bit-all.tar.gz
tar -xvf openGauss-5.0.0-openEuler-64bit-all.tar -C /opt/software/openGauss/
tar -jxvf openGauss-5.0.0-openEuler-64bit.tar.bz2
3.4. 假定解压包的路径为/opt/software/openGauss,进入解压后目录下的simpleInstall。
cd /opt/software/openGauss/simpleInstall
3.5. 执行install.sh脚本安装openGauss。
# 修改目录权限后,切换到普通用户,否则会提示:Error: can not install openGauss with root
sh install.sh -w omm@1234
上述命令中,-w是指初始化数据库密码(gs_initdb指定),安全需要必须设置。
centos7.8报sem不足:
sysctl -w kernel.sem="250 85000 250 330"
3.6. 安装后会自动配置环境变量
vi /home/omm/.bashrc
# User specific aliases and functions
export GAUSSHOME=/opt/software/openGauss
e