今天我会进行StoneDB数据库在CentOS 7系统下的安装。
官方的快速部署文档中已有详细的安装流程,我会严格按照流程操作。
准备CentOS系统
我在本地虚拟机上安装好了CentOS 7系统的2207版本。安装过程比较顺利,装完系统后开启ssh服务,就可以用ssh客户端连接,先使用下面的系统更新命令
yum -y update
对系统进行更新,然后执行后面的安装步骤。
在CentOS系统中安装StoneDB数据库
下面开始进行StoneDB数据库的安装。
第一步:下载并解压安装包
此处我下载的是StoneDB 5.6版本。用下面的命令,下载压缩包,并解压。
cd /
wget https://static.stoneatom.com/stonedb-ce-5.6-v1.0.0.el7.x86_64.tar.gz
tar -zxvf stonedb-ce-5.6-v1.0.0.el7.x86_64.tar.gz
注意,因为新装的CentOS系统没有wget命令,我在执行过程中就遇到了“未找到命令”的提示。
就需要先用
yum -y install wget
安装wget。装完wget,再执行上面的下载解压命令,就可以了。
解压后的目录是stonedb56。
第二步:检查依赖文件
命令有3行,需要依次执行:
cd /stonedb56/install/bin
ldd mysqld
ldd mysql
我执行了
ldd mysqld
命令后,发现有一个依赖缺失:
网上查找了一下缺少libzstd.so.1的依赖解决方案,据说安装这2个依赖包可以解决:
yum install epel-release.noarch -y
yum install libzstd.x86_64 -y
安装完成后后再次执行
ldd mysqld
,就没有问题了:
继续执行下一项依赖检查,发现这次都齐了:
启动实例
下面就可以启动StoneDB了。
1、创建用户
创建用户的命令行如下,第一行是创建一个叫mysql的用户组,第二行是在mysql用户组下创建名为mysql的用户,第三行是为这个mysql用户添加密码(随后输入密码)。可以自己按照需要修改。
groupadd mysql
useradd -g mysql mysql
passwd mysql
执行后输入两次密码,即完成密码设置。
2、自动安装
按照官方文档是可以选择手动安装和自动安装的,手动安装可以指定目录和参数,使用自动安装的话,必须是按照官方文档把stonedb安装在系统根目录下面才行。我在这里因为完全是按照官方文档执行的,所以选择自动安装:
cd /stonedb56/install
./reinstall.sh
执行过程中,跳出了一些错误提示:
去网上搜索,发现要再补充一个依赖包,于是执行
yum -y install perl perl-devel
安装,完成后继续执行上一步的自动安装。
又出现新的错误提示:
好吧,再补充安装2个perl的模组:
yum install perl perl-Data-Dumper
yum install perl perl-JSON
完成后继续执行上上步的自动安装。
最后显示success字样。为了确定是否成功安装,手动执行
ps -ef|grep mysqld
命令,看到已有mysql进程存在,所以应该是安装成功了。
3、执行登录
下面可以通过命令行进行登录:
/stonedb56/install/bin/mysql -uroot -p -S /stonedb56/install/tmp/mysql.sock
输入密码进入mysql,通过
show databases;
命令,可以看到已有的数据库。
4、客户端连接
通过本地电脑上的Navicat客户端,可以连接虚拟机上的StoneDB数据库。
注意,如果连接不成功,需要检查一下虚拟机上防火墙相关的设置,开放3306端口。
总结
在CentOS系统下安装StoneDB过程中,遇到了一些官方文档没有说明的情况,需要相应的处理如下:
1、新装的CentOS系统没有wget命令
2、缺少libzstd.so.1的依赖
yum install epel-release.noarch -y
yum install libzstd.x86_64 -y
3、自动安装过程中出现依赖缺失
yum -y install perl perl-devel
yum -y install perl perl-Data-Dumper
yum -y install perl perl-JSON