您好,欢迎访问数据库运维|优化|安装|迁移|服务官网!
13261661949
虚谷数据库安装全攻略,轻松上手零基础教程-行业新闻-数据库运维|优化|安装|迁移|服务_uDBok.com

新闻动态

联系我们

虚谷数据库安装全攻略,轻松上手零基础教程-行业新闻-数据库运维|优化|安装|迁移|服务_uDBok.com

地址:北京市昌平区高新经济开发区
手机:13261661949

咨询热线13261661949

虚谷数据库安装全攻略,轻松上手零基础教程

发布时间:2026-09-29 22:53:00人气:1073

拿到虚谷数据库的安装包那一刻,我其实挺忐忑的。名字听着就有点玄乎,“虚谷”,像是武侠小说里某个隐世高人的居所。但咱干技术这行的,管你叫虚谷还是实谷,装不上就是装不上,装上了跑不起来更尴尬。我花了整整一个下午,把踩过的坑、绕过的弯全捋了一遍,这才敢动笔写这篇零基础教程。你跟着走,别跳步,我保证你比我第一次顺利得多——至少不用像我那样,对着黑乎乎的终端窗口怀疑人生。

虚谷数据库安装全攻略,轻松上手零基础教程

先泼一盆冷水,安装前的准备工作比安装本身重要十倍。虚谷数据库对操作系统有明确的挑剔,别拿个Windows Server就往上冲,虽然官方文档说支持,但我实测下来,Linux环境才是它的主场。我用的是一台CentOS 7.9的虚拟机,内存给了4G,硬盘留了20G空余,这些是底线。你要是手头机器配置低,也别慌,但至少要保证磁盘空间足够,因为安装过程中它会创建数据目录和日志目录,这两个家伙吃起空间来毫不含糊。还有一点容易被忽略:提前把防火墙关了,或者放行对应端口。虚谷默认监听1521端口,跟Oracle一个习惯,但新手别指望自己会改配置,先关防火墙,等跑通了再说安全加固的事。

解压安装包的时候我犯了个低级错误,直接解压到了root家目录。后来才发现,虚谷的安装脚本对路径里的中文和空格特别敏感,你要是解压到“C:新建文件夹(2)”这种路径,恭喜你,报错信息能让你怀疑编码问题。正确做法是建一个纯英文的目录,比如我用的/home/xuguinstall,然后把tar.gz包扔进去,tar -zxvf解压。解压完你会看到一个bin目录和一个conf目录,别急着动conf里的东西,那是给老手调优用的。你现在要做的,是找到bin目录下的那个install.sh脚本,给它加执行权限,然后准备迎接第一个交互式问答。

执行./install.sh之后,脚本会问你一堆问题,别被吓住,其实核心就三个:安装路径、数据目录、监听端口。安装路径我建议默认,它一般会推荐/usr/local/xugu,这个没问题。数据目录千万别选默认的/usr/local/xugu/data,因为后面升级或者迁移的时候,数据独立放一处会省很多事。我单独建了个/data/xugu目录,权限设成700,属主改成xugu用户。说到用户,这又是一个坑——虚谷强烈不建议用root跑数据库服务,虽然安装脚本没强制拦你,但后面启动服务时各种权限报错能烦死你。我专门建了个系统用户xugu,passwd xugu设个密码,然后chown -R xugu:xugu把安装目录和数据目录全给它。

配置项里还有个字符集选择,默认是UTF8,这个建议别改。我一开始手贱选了GBK,因为听人说某些业务系统对GBK支持好,结果导入数据时乱码乱得我眼冒金星。后来老老实实改回UTF8,世界清净了。端口那块,如果1521被占了,脚本会提示你换,但新手别自作聪明换什么54321这种冷门端口,就1521,或者1522,越常见越好,因为后面你连客户端、配防火墙、写连接串,全都要用这个数字,太生僻容易记混。脚本跑完会显示一堆“OK”字样,看到那个绿色的“Install Successfully”才算完事,中途任何红色报错都别忽略,直接截图搜错误码比瞎猜快得多。

安装完不等于能用,初始化数据库这步才是重头戏。虚谷装完之后默认是个空壳子,你得手动初始化系统表空间和默认用户。在安装目录的bin下有个initdb命令,用法很简单:./initdb -D /data/xugu -U xugu --auth=md5。这里-U指定的是操作系统用户,不是数据库用户,别搞混了。初始化过程大概半分钟,期间会刷一堆日志,提示“Initialization completed”。这时候你会发现/data/xugu目录下多了一堆文件,包括PGVERSION、base目录、global目录什么的——等等,你是不是觉得这目录结构很眼熟?没错,虚谷数据库的内核跟PostgreSQL有千丝万缕的血缘关系,但人家对外宣传是自主研发,咱就不深究了,能用就行。

启动服务这一步,我建议你别用脚本自带的那个pgctl命令——虽然它确实能用,但每次开机都要手动敲一遍太烦了。我直接写了个systemd服务单元,放在/etc/systemd/system/xugu.service里,内容很简单:指定ExecStart为虚谷的pgctl start -D /data/xugu,ExecStop是stop,然后systemctl daemon-reload,systemctl enable xugu,再systemctl start xugu。这样开机自启、崩溃自动拉起全都有了,省心不少。启动完之后,用ps aux | grep xugu看一眼进程,如果看到postgres主进程和几个辅助进程在跑,说明服务起来了。这时候别急着高兴,先试着连一下:psql -h 127.0.0.1 -p 1521 -U postgres -d postgres,能进去就算成功一半。

剩下的一半在于配置远程连接和初始用户安全。默认情况下,虚谷只监听本地回环地址,你在别的机器上用数据库客户端根本连不上。这得去conf目录下的pgnf和nf(对,又是PostgreSQL那套命名)里改。nf里把listenaddresses改成'*',pg_nf里加一行host all 0.0.0.0/0 md5,然后重启服务。这一步做完,你才算真正拥有了一个能对外服务的数据库实例。但别忘了,初始的postgres用户密码是空的,赶紧用ALTER USER postgres WITH PASSWORD '强密码'改掉,不然你就是开着大门让人随便搬数据。

说说我最想吐槽的一点。虚谷的安装文档其实写得不差,但排版密密麻麻,关键步骤藏在一堆技术术语里,对小白极不友好。我写这篇文章,就是想把那些文档里没明说、但你必须知道的“潜规则”给你摊开讲清楚。比如安装路径别带中文、数据目录单独放、用普通用户跑服务、改监听地址、设初始密码——这五件事,随便哪件漏了,后面都会让你头疼半天。你照着这篇攻略走,半小时内应该能跑起来一个能用的虚谷实例。等你哪天熟练了,再回头看看官方文档,会发现那些术语其实也没那么吓人。工具这东西,用起来才是王道,装上了,你就已经赢了一半。剩下的,就是往里灌数据、写SQL、调性能,那是另一个故事了。

推荐资讯

13261661949