银河麒麟V10系统安装JDK、ES、kibana、Activemq、Redis、MySQL、postgresql、timescaledb、openssl

下载地址

openjdk1.8:https://www.oracle.com/java/technologies/downloads/

elasticsearch-8.1.0:https://elasticsearch.cn/download/ (注意:8.1.0不支持JDK1.8,会使用内置JDK,最后支持JDK1.8的版本是7.17)

kibana8.1.0:https://elasticsearch.cn/download/

apache-activemq-5.16.2:https://activemq.apache.org/activemq-5016002-release

redis7.0.8:http://download.redis.io/releases/

postgresql-11.7:https://www.postgresql.org/ftp/source/v11.7/

timescaledb-2.3.1:https://github.com/timescale/timescaledb/releases/tag/2.3.1

openssl-3.1.0:https://github.com/openssl/openssl/releases/tag/openssl-3.1.0

mysql8.0.28:https://downloads.mysql.com/archives/community/

image-20230216092331102.png

安装JDK

查看JDK信息

java -version

卸载open-jdk

#查看系统的JDK安装包
rpm -qa|grep jdk
#卸载JDK安装包:
rpm -e --nodeps java-1.8.0-openjdk
rpm -e --nodeps java-1.8.0-openjdk-headless
rpm -e --nodeps java-11-openjdk
rpm -e --nodeps java-11-openjdk-headless
rpm -e --nodeps copy-jdk-configs
#查看java安装包
rpm -e --nodeps javapackages-filesystem
rpm -e --nodeps javapackages-tools
rpm -e --nodeps tzdata-java
#确认卸载情况
java -version

安装JDK

#进入/usr/local目录
cd /usr/local
#创建java文件夹
mkdir java
#把JDK压缩文件放进来,然后解压
tar -zxvf jdk-8u171-linux-x64.tar.gz
#设置JDK环境变量
vim /etc/profile
#输入i编辑文件,在profile最后追加JAVA_HOME和path
export JAVA_HOME=/usr/local/java/jdk1.8.0_171
export JRE_HOME=${JAVA_HOME}/jre 
export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib
export PATH=${JAVA_HOME}/bin:$PATH
#编辑完成按ESC,然后:wq保存

#刷新配置文件,使配置文件产生作用
source /etc/profile
#测试java是否安装成功
java -version

安装elasticsearch

查看操作系统配置信息

[root@localhost /]# cat /proc/version
Linux version 4.19.90-24.4.v2101.ky10.x86_64 (KYLINSOFT@localhost.localdomain) (gcc version 7.3.0 (GCC)) #1 SMP Mon May 24 12:14:55 CST 2021

查看CPU芯片信息

[root@localhost /]# lscpu
架构:                           x86_64
CPU 运行模式:                   32-bit, 64-bit
字节序:                         Little Endian
Address sizes:                   43 bits physical, 48 bits virtual
CPU:                             1
在线 CPU 列表:                  0
每个核的线程数:                 1
每个座的核数:                   1
座:                             1
NUMA 节点:                      1
厂商 ID:                        GenuineIntel
CPU 系列:                       6
型号:                           165
型号名称:                       Intel(R) Core(TM) i7-10750H CPU @ 2.60GHz
步进:                           2
CPU MHz:                        2592.002
BogoMIPS:                       5184.00
超管理器厂商:                   VMware
虚拟化类型:                     完全
L1d 缓存:                       32 KiB
L1i 缓存:                       32 KiB
L2 缓存:                        256 KiB
L3 缓存:                        12 MiB

安装elasticsearch

#进入/usr/local目录
cd /usr/local
#创建elasticsearch目录
mkdir elasticsearch
#把elasticsearch压缩文件放进来,然后解压
tar -zxvf elasticsearch-8.1.0-linux-x86_64.tar.gz

#创建用户(基于安全可控的原则,Elasticsearch 不允许 root 用户直接运行;)
#新增 es 用户
useradd es
#为 es 用户设置密码
passwd es
#如果错了,可以删除再加
userdel -r es
#切换用户命令
su es

修改属性(重要)

[root@localhost elasticsearch]# pwd
/usr/local/elasticsearch
#修改属性(root用户使用)
chown -R es:es elasticsearch-8.1.0

修改配置文件

#修改elasticsearch-8.1.0/config/elasticsearch.yml 文件加入如下配置
vim elasticsearch.yml

cluster.name: my-application
node.name: node-1
network.host: 0.0.0.0
http.port: 9200
cluster.initial_master_nodes: ["node-1"]
  1. 为es设置ip绑定,默认是127.0.0.1,也就是默认只能通过127.0.0.1 或者localhost才能访问,也可配置0.0.0.0全部可以访问
  2. 为es设置自定义端口,默认是9200

修改OS层系统参数

#修改/etc/security/limits.conf 在文件末尾中增加下面内容(每个进程可以打开的文件数的限制)
es soft nofile 65536
es hard nofile 65536

#修改/etc/sysctl.conf 在文件中增加下面内容(一个进程可以拥有的 VMA(虚拟内存区域)的数量,默认值为 65536)
vm.max_map_count=655360

#重新加载配置
sysctl -p
 
kernel.sysrq = 0
net.ipv4.ip_forward = 0
net.ipv4.conf.all.send_redirects = 0
net.ipv4.conf.default.send_redirects = 0
net.ipv4.conf.all.accept_source_route = 0
net.ipv4.conf.default.accept_source_route = 0
net.ipv4.conf.all.accept_redirects = 0
net.ipv4.conf.default.accept_redirects = 0
net.ipv4.conf.all.secure_redirects = 0
net.ipv4.conf.default.secure_redirects = 0
net.ipv4.icmp_echo_ignore_broadcasts = 1
net.ipv4.icmp_ignore_bogus_error_responses = 1
net.ipv4.conf.all.rp_filter = 1
net.ipv4.conf.default.rp_filter = 1
net.ipv4.tcp_syncookies = 1
kernel.dmesg_restrict = 1
net.ipv6.conf.all.accept_redirects = 0
net.ipv6.conf.default.accept_redirects = 0
vm.max_map_count = 655360

启动软件

#使用 ES 用户启动
su - es
cd /usr/local/elasticsearch/elasticsearch-8.1.0/bin

正常启动(可以用来查看报错)

./elasticsearch

后台启动

./elasticsearch -d

停止es

ps -ef|grep elasticsearch
kill -9 pid

设置密码

#进入ES的安装目录修改elasticsearch.yml文件在最后一行添加xpack.security.enabled: true开源版本默认是关闭的(开启的状态就不要修改了)
cd /usr/local/elasticsearch/elasticsearch-8.1.0/config
vim elasticsearch.yml

xpack.security.enabled: true
#启动es(重要)
cd /usr/local/elasticsearch/elasticsearch-8.1.0/bin
./elasticsearch -d
#以交互的方式设置用户名和密码:(记住你所设置的密码)
./elasticsearch-setup-passwords interactive
Note: The 'elasticsearch-setup-passwords' tool has been deprecated. This command will be removed in a future release.
Initiating the setup of passwords for reserved users elastic,apm_system,kibana,kibana_system,logstash_system,beats_system,remote_monitoring_user.

You will be prompted to enter passwords as the process progresses.

翻译:
注意:'elasticsearch-setup-passwords'工具已弃用。该命令将在未来的版本中删除。
启动为保留用户elastic、apm_system、kibana、kibana_system、logstash_system、beats_system、remote_monitoring_user设置密码。
随着过程的进行,系统将提示您输入密码。

注意:因为需要设置 elastic,apm_system,kibana,kibana_system,logstash_system,beats_system,remote_monitoring_user 这些用户的密码。

#新的访问方式
curl localhost:9200 -u elastic:{password}

离线启动错误解决方案

错误一:java.net.UnknownHostException: geoip.elastic.co

在elasticsearch.yml中添加如下配置:

ingest.geoip.downloader.enabled: false

关闭geoip数据库的更新(因为需要联网)

错误二:received plaintext http traffic on an https channel, closing connection Netty4HttpChannel{localAddress=/127.0.0.1:9200, remoteAddress=/127.0.0.1:47014}

1、使用 https 发送请求,即:把 http 请求改成 https 即可。

2、修改配置文件(如果设置了密码就不要使用这个了)。

修改elasticsearch.yml配置文件

将xpack.security.enabled设置为false,重启。

错误三:如果不需要ssl验证

在elasticsearch.yml中添加如下配置:

Enable encryption for HTTP API client connections, such as Kibana, Logstash, and Agents

xpack.security.http.ssl:
  enabled: false

安装kibana

#进入/usr/local目录
cd /usr/local
#创建kibana目录
mkdir kibana
#把kibana压缩文件放进来,然后解压
tar -zxvf kibana-8.1.0-linux-x86_64.tar.gz

修改配置

vim config/kibana.yml
# Kibana 端口号
server.port: 5601
 
# 远程访问kibana地址
server.host: "0.0.0.0"
 
# 使您能够在运行于代理之后指定挂载Kibana的路径。这只会影响到由Kibana生成的url,
# 您的代理在将请求转发到Kibana之前应该删除basePath值。
# 此设置不能以斜线结束。
#server.basePath: ""
 
# 传入服务器请求的最大有效负载大小(以字节为单位)。
#server.maxPayloadBytes: 1048576
 
# Kibana 服务名
#server.name: "your-hostname"
 
# 要用于所有查询的Elasticsearch实例的URL。
# 也可以配置多个ES
# elasticsearch.hosts: ["http://IP:PORT","http://IP:PORT"]  
 elasticsearch.hosts: ["http://localhost:9200"] 
 
# 当该设置的值为true时,Kibana使用服务器中指定的主机名设置
# 当这个设置的值为false时,Kibana使用连接到这个Kibana实例的主机的主机名。
#elasticsearch.preserveHost: true
 
# Kibana在Elasticsearch中使用索引来存储保存的搜索、可视化和仪表板。
# 如果索引不存在,则Kibana创建一个新索引。
#kibana.index: ".kibana"
 
# 要加载的默认应用程序。
#kibana.defaultAppId: "discover"
 
#如果ES设置了用户验证,则需要配置可用的用户名密码 (如果es设置kibana用户直接可以使用)
#elasticsearch.username: "kibana"
#elasticsearch.password: "pass"
 
# 分别启用SSL和到peme格式SSL证书和SSL密钥文件的路径。
# 这些设置为从Kibana服务器发送到浏览器的请求启用SSL。
#server.ssl.enabled: false
#server.ssl.certificate: /path/to/your/server.crt
#server.ssl.key: /path/to/your/server.key
 
# 提供pemm格式SSL证书和密钥文件路径的可选设置。
# 这些文件将验证您的Elasticsearch后端是否使用了相同的密钥文件。
#elasticsearch.ssl.certificate: /path/to/your/client.crt
#elasticsearch.ssl.key: /path/to/your/client.key
 
# 可选设置,使您能够为您的Elasticsearch实例的证书颁发机构指定PEM文件的路径。
#elasticsearch.ssl.certificateAuthorities: [ "/path/to/your/CA.pem" ]
 
# 若要忽略SSL证书的有效性,请将此设置的值更改为“none”。
#elasticsearch.ssl.verificationMode: full
 
# 等待Elasticsearch响应ping的时间(毫秒)
# 默认使用elasticsearch.requestTimeout 的设置
#elasticsearch.pingTimeout: 1500
 
# 等待后端或Elasticsearch响应的时间(毫秒)
#elasticsearch.requestTimeout: 30000 

设置中文模式

#在kibana.yml配置文件中添加一行配置
i18n.locale: "zh-CN"

修改权限

chown -R es:es kibana-8.1.0

后台启动

su es
cd /usr/local/kibana/kibana-8.1.0/bin
#启动
./kibana
#后台启动
nohup ./kibana &

web访问

http://虚拟机ip:5601

终止进程

#查看进程
lsof -i:5601
kill -9进程号

安装ActiveMq

安装ActiveMq

#进入/usr/local目录
cd /usr/local
#创建kibana目录
mkdir activemq
#把kibana压缩文件放进来,然后解压
tar -zxvf apache-activemq-5.16.2-bin.tar.gz 

启动

#进入主目录
cd apache-activemq-5.16.2
cd bin
#启动
./activemq start

#访问地址
http://ip地址:8161 方式访问管理界面,默认用户名和密码admin/admin

停止

./activemq stop

#或
ps -ef | grep activemq
kill -9 进程号

常见问题

安装成功web页面不能访问

1.修改Host

cd apache-activemq-5.16.2/conf
#修改配置文件
vim jetty.xml 
<bean id="jettyPort" class="org.apache.activemq.web.WebConsolePort" init-method="start">
             <!-- the default port number for the web console -->
        <property name="host" value="0.0.0.0"/>
        <property name="port" value="8161"/>
    </bean>

2.防火墙

如果开启了防火墙,需要开放相应的端口

firewall-cmd --zone=public --add-port=8161/tcp --permanent 
firewall-cmd --zone=public --add-port=61616/tcp --permanent 
#重新载入
firewall-cmd --reload
#查看端口是否设置成功
firewall-cmd --zone=public --list-ports

3.目录不准确

有的版本启动程序是在bin目录底下还有一级的包里。

修改启动参数

cd apache-activemq-5.16.2/bin
vim env
# Set jvm memory configuration (minimal/maximum amount of memory)
ACTIVEMQ_OPTS_MEMORY="-Xms64M -Xmx1G"

磁盘空间问题

分配的磁盘空间不足报错,将conf路径下activemq.xml里的storeUsage limit和tempUsage limit 设置小点即可

安装Redis

安装Redis

#进入/usr/local目录
cd /usr/local
#创建redis目录
mkdir redis
#把redis压缩文件放进来,然后解压
tar -zxvf redis-7.0.8.tar.gz
#进入redis的根目录
cd redis-7.0.8/
#检查是否有gcc环境
[root@localhost redis-7.0.8]# gcc --version
gcc (GCC) 7.3.0
Copyright © 2017 Free Software Foundation, Inc.
本程序是自由软件;请参看源代码的版权声明。本软件没有任何担保;
包括没有适销性和某一专用目的下的适用性担保。
#执行make命令进行编译
make
#跳过make test继续执行
[root@localhost redis-7.0.8]# make install
cd src && make install
make[1]: 进入目录“/usr/local/redis/redis-7.0.8/src”
    CC Makefile.dep

Hint: It's a good idea to run 'make test' ;)

    INSTALL redis-server
    INSTALL redis-benchmark
    INSTALL redis-cli
make[1]: 离开目录“/usr/local/redis/redis-7.0.8/src
#出现上面的情况说明安装成功,默认安装目录/usr/local/bin

文件介绍

  • redis-benchmark:性能测试工具,可以在自己本子运行,看看自己本子性能如何
  • redis-check-aof:修复有问题的AOF文件
  • redis-check-dump:修复有问题的dump.rdb文件
  • redis-sentinel:Redis集群使用
  • redis-server:Redis服务器启动命令
  • redis-cli:客户端,操作入口

修改配置文件

#修改配置文件redis.conf
cd /usr/local/redis/redis-7.0.8
vim redis.conf


# no 表示关闭保护模式
protected-mode no
# yes表示以守护进程的方式运行(会占用一个终端) 
daemonize yes
#密码
requirepass redis

启动

cd /usr/local/bin
#前台
redis-server
#后台启动
redis-server /usr/local/redis/redis-7.0.8/redis.conf

查看redis进程

ps -ef |grep redis

使用redisc-cli链接

cd /usr/local/bin
redis-cli

关闭redis

[root@localhost bin]# redis-cli
127.0.0.1:6379> auth '密码'
OK
127.0.0.1:6379> ping
PONG
#直接shutdown
127.0.0.1:6379> shutdown
not connected> 

#
ps -ef |grep redis
kill -9 进程号

安装MySQL-RPM

确定版本

cat /etc/kylin-release
Kylin Linux Advanced Server release V10 (Sword)

cat /proc/version
Linux version 4.19.90-24.4.v2101.ky10.x86_64 (KYLINSOFT@localhost.localdomain) (gcc version 7.3.0 (GCC)) #1 SMP Mon May 24 12:14:55 CST 2021

检查系统是否自带MySQL或MariaDB

rpm -qa | grep mariadb
rpm -qa | grep mysql

删除自带的MySQL和MariaDB

rpm -e {mariadb-server,mariadb,mariadb-errmessage,mariadb-common}

检查SSL包是否安装

rpm -qa | grep ssl
#看到这两个包就是已安装
openssl-libs-1.1.1f-4.p01.ky10.x86_64
openssl-1.1.1f-4.p01.ky10.x86_64

注意:这里缺少openssl-devel,需要安装,如果有yum,则yum install openssl-devel(未解决,选择强制安装的mysql-mysql-community-devel-8.0.28-1.el8.x86_64.rpm)这步跳过。

安装mysql

#进入/usr/local目录
cd /usr/local
#创建redis目录
mkdir mysql
#把mysql压缩文件放进来,然后解压
tar xvf mysql-8.0.28-1.el8.x86_64.rpm-bundle.tar

只需要安装以下必选组件即可,注意必须按照先后顺序安装

mysql-community-common-8.0.28-1.el8.x86_64.rpm
mysql-community-client-plugins-8.0.28-1.el8.x86_64.rpm
mysql-community-libs-8.0.28-1.el8.x86_64.rpm
mysql-community-client-8.0.28-1.el8.x86_64.rpm
mysql-community-icu-data-files-8.0.28-1.el8.x86_64.rpm
mysql-community-server-8.0.28-1.el8.x86_64.rpm

因为openssl-devel没下载导致依赖冲突,通过 --force --nodeps 命令不检查依赖强制安装

mysql-community-devel-8.0.28-1.el8.x86_64.rpm

使用以下命令安装每个rpm包

rpm -ivh mysql-community-common-8.0.28-1.el8.x86_64.rpm
rpm -ivh mysql-community-client-plugins-8.0.28-1.el8.x86_64.rpm
rpm -ivh mysql-community-libs-8.0.28-1.el8.x86_64.rpm
rpm -ivh mysql-community-client-8.0.28-1.el8.x86_64.rpm
rpm -ivh mysql-community-icu-data-files-8.0.28-1.el8.x86_64.rpm
rpm -ivh mysql-community-server-8.0.28-1.el8.x86_64.rpm
rpm -ivh mysql-community-devel-8.0.28-1.el8.x86_64.rpm --force --nodeps

查询MySQL的状态(Active是状态)

systemctl status mysqld

#结果
mysqld.service - MySQL Server
   Loaded: loaded (/usr/lib/systemd/system/mysqld.service; enabled; vendor preset: disabled)
   Active: inactive (dead)
     Docs: man:mysqld(8)
           http://dev.mysql.com/doc/refman/en/using-systemd.html

启动MySQL

#启动
systemctl start mysqld
#再次查看状态
systemctl status mysqld
#结果
mysqld.service - MySQL Server
   Loaded: loaded (/usr/lib/systemd/system/mysqld.service; enabled; vendor preset: disabled)
   Active: active (running) since Wed 2023-02-15 15:13:02 CST; 5s ago
     Docs: man:mysqld(8)
           http://dev.mysql.com/doc/refman/en/using-systemd.html
  Process: 47662 ExecStartPre=/usr/bin/mysqld_pre_systemd (code=exited, status=0/SUCCESS)
 Main PID: 47739 (mysqld)
   Status: "Server is operational"
    Tasks: 38
   Memory: 467.0M
   CGroup: /system.slice/mysqld.service
           └─47739 /usr/sbin/mysqld

2月 15 15:12:54 localhost.localdomain systemd[1]: Starting MySQL Server...
2月 15 15:13:02 localhost.localdomain systemd[1]: Started MySQL Server.

配置MySQL

  • MySQL安装完成后需要对MySQL做基础配置,包括首次登录修改用户密码、数据文件位置调整、redo log大小与数量调整、undo 表空间调整、ibdata表空间调整
  • binlog+errorlog+slowlog+pid+socket等文件调整、性能参数调整,这些调整都可以通过修改my.cnf参数文件实现。

1.修改密码

首次启动会为root用户生成一个随机初始化密码,并在MySQL的errorlog文件中记录下来

1.1找到初始密码

grep password /var/log/mysqld.log

#结果:u.9p(09#p1Ft
[root@localhost mysql]# grep password /var/log/mysqld.log
2023-02-15T07:12:59.957598Z 6 [Note] [MY-010454] [Server] A temporary password is generated for root@localhost: u.9p(09#p1Ft

1.2使用上面的初始化密码登录MySQL(-p不要直接加密码)

mysql -uroot -p

1.3修改root密码(大小写、符号、数字)

alter user user() identified by 'XXXXXXXX';

1.4密码修改成功后,执行以下命令查看MySQL基本信息

#结果
mysql> status
--------------
mysql  Ver 8.0.28 for Linux on x86_64 (MySQL Community Server - GPL)

Connection id:      9
Current database:   
Current user:       root@localhost
SSL:            Not in use
Current pager:      stdout
Using outfile:      ''
Using delimiter:    ;
Server version:     8.0.28
Protocol version:   10
Connection:     Localhost via UNIX socket
Server characterset:    utf8mb4
Db     characterset:    utf8mb4
Client characterset:    utf8mb4
Conn.  characterset:    utf8mb4
UNIX socket:        /var/lib/mysql/mysql.sock
Binary data as:     Hexadecimal
Uptime:         17 min 41 sec

Threads: 3  Questions: 12  Slow queries: 0  Opens: 140  Flush tables: 3  Open tables: 56  Queries per second avg: 0.011
--------------

2.修改my.cnf参数文件

my.cnf默认会在/etc目录下自动生成,需要编辑此文件以调整各种文件配置和性能配置参数。

2.1在修改前要关闭MySQL服务

systemctl stop mysqld

2.2编辑/etc/my.cnf文件

vim /etc/my.cnf

按如下内容编辑my.cnf,系统和用户表空间放在data目录中,undo 表空间放在undo目录中,binlog开启GTID MODE并将binlog放在log目录中,redo log放在redo目录中并开启redo归档将归档日志放在arch目录中。

[mysql]
socket=/data/mysql/data/mysqld.sock
 
[mysqld]
###base config###
server-id=211
datadir=/data/mysql/data
socket=/data/mysql/data/mysqld.sock
pid-file=/data/mysql/data/mysqld.pid
log-error=/data/mysql/log/mysqld.log
 
###query config###
join_buffer_size = 128M
sort_buffer_size = 16M
read_buffer_size = 16M
read_rnd_buffer_size = 8M
 
###open table config###
table_open_cache=2000
table_open_cache_instances=16
 
###connection config###
max_connections=2000
thread_cache_size=200
 
###binlog config###
log_bin=/data/mysql/log/binlog
log_bin_index=/data/mysql/log/binlog.index
binlog_format=ROW
max_binlog_size=1G
binlog_cache_size=16M
binlog_expire_logs_seconds=604800
enforce_gtid_consistency=ON
gtid_mode=ON
 
###general log config###
general_log=OFF
general_log_file=/data/mysql/log/mysqld.gnl
 
###slow query config###
log_output=FILE
long_query_time=1
slow_query_log=ON
slow_query_log_file=/data/mysql/log/mysqld.slow
 
###innodb redo log config###
innodb_log_file_size=1G
innodb_log_files_in_group=3
innodb_log_buffer_size=16M
innodb_log_group_home_dir=/data/mysql/redo
innodb_redo_log_archive_dirs=/data/mysql/arch
 
###innodb undo log config###
#innodb_max_undo_log_size=1G
#innodb_undo_tablespaces=2
innodb_undo_directory=/data/mysql/undo
 
###innodb config###
#innodb_data_file_path=ibdata1:12M:autoextend
#innodb_temp_data_file_path=ibtmp1:12M:autoextend
#innodb_temp_tablespaces_dir=./#innodb_temp/
#innodb_autoextend_increment=64
innodb_buffer_pool_size=8G
innodb_open_files=10000
open_files_limit=10000

2.3移动MySQL数据文件

my.cnf配置文件中调整了undo、redo、binlog等文件的存放位置,因此需要将MySQL安装后默认数据目录下的文件移动到与my.cnf对应的目录下。

2.3.1创建与my.cnf中配置对应的目录

mkdir /data/mysql/{data,redo,undo,arch,log} -p

2.3.2移动文件到对应的目录

mv /var/lib/mysql/undo*  /data/mysql/undo
mv /var/lib/mysql/ib_logfile*  /data/mysql/redo
mv /var/lib/mysql/*  /data/mysql/data

2.3.3修改目录权限

chown mysql.mysql /data/mysql -R

2.3.4启动MySQL服务

systemctl start mysqld

3.测试服务

3.1查看MySQL服务状态

systemctl status mysqld

3.2登录MySQL

mysql -uroot -p

3.3使用sql命令

mysql> show databases;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| mysql              |
| performance_schema |
| sys                |
+--------------------+
4 rows in set (0.00 sec)

安装posgresql

安装前可以先进行用户以及用户组的配置

# 新增用户组
groupadd postgres
# 创建用户组内用户
useradd -g postgres postgres
# 修改用户密码
passwd postgres
#进入/usr/local目录
cd /usr/local
#创建posgresql目录
mkdir posgresql
#把posgresql压缩文件放进来,然后解压
tar -zxvf postgresql-11.7.tar.gz
#进入pg的根目录
cd postgresql-11.7/
#暂时忽略readline-devel
./configure --without-readline

make 
make install
#进入到解压后的目录下的contrib文件夹
cd contrib
make
make install

安装完成后进行数据库data配置

mkdir -p /usr/local/pgsql/data                      # 创建数据存储目录
chown -R postgres:postgres /usr/local/pgsql    # 用户/用户组目录授权

修改环境变量

su - postgres
cd /home/postgres
vi .bash_profile 

#bash_profile文件中加入以下
PATH=/usr/local/pgsql/bin:$PATH
export PATH
LD_LIBRARY_PATH=/usr/local/pgsql/lib
export LD_LIBRARY_PATH
export PGHOME=/usr/local/pgsql
export PGDATA=/usr/local/pgsql/data


#保存后使环境变量立即生效,否则initdb命令会找不到
source .bash_profile 

初始化数据库

initdb -D /usr/local/pgsql/data
#logfile需要在postgres的用户目录下创建
cd /home/postgres
pg_ctl -D /usr/local/pgsql/data -l logfile start

#查看5432端口是否已经启动
netstat -nltp|grep 5432

添加postgresql至服务(这个我配置后切换用户还需要手动刷新,不知道怎么回事)

su root
cd /usr/local/postgresql/postgresql-11.7/contrib/start-scripts
chmod a+x linux
cp linux /etc/init.d/postgresql
#此时就可以使用 /etc/init.d/postgresql stop 来停止postgresql.也可以使用:service postgresql start 来启动postgresql
#设置服务开机启动
chkconfig --add postgresql 

配置数据库允许连接

cd /usr/local/pgsql/data    
vim postgresql.conf
#修改以下配置
listen_addresses = '*'

vim pg_hba.conf
#添加以下配置 注意trust是不能在生产服务使用的,会有弱口令问题
#参考:https://blog.csdn.net/songyundong1993/article/details/124264877
#连接方式  数据库 用户名 IP地址 客户端认证方式
host all all 0.0.0.0/0 trust

# 修改完成后可以进行服务的重启
pg_ctl restart

进入数据库

#psql -h host -p port -U username -d yourdatabase
psql

#测试
#查询所有用户
select rolname,oid from pg_roles;

链接数据库

#如果服务器是开启防火墙状态的请注意 将数据库的端口开放否则链接会报错
命令:firewall-cmd --add-service=postgresql --permanent
# 5432为postgresql端口
命令:firewall-cmd --zone=public --add-port=5432/tcp --permanent
命令:firewall-cmd --reload
# 查看防火墙开放端口
firewall-cmd --zone=public --list-ports

安装timescaledb

mkdir /usr/local/timescaledb/
cd /usr/local/timescaledb/
#解压下载文件
tar -zxvf timescaledb-2.3.1.tar.gz
cd timescaledb-2.3.1/

#我安装pgsql时未安装openssl,故选择./bootstrap -BUSE_OPENSSL=0
./bootstrap -DUSE_OPENSSL=0 -DREGRESS_CHECKS=OFF

#编译
cd ./build && make
make install

#添加共享库到pgsql的配置文件
vi /usr/local/pgsql/data/postgresql.conf
#写入以下
shared_preload_libraries = 'timescaledb'

#切换用户postgres
su – postgres
#启动pg,执行以下命令
pg_ctl start
psql
create extension if not exists timescaledb cascade;

出现如图所示则安装成功。


image-20230523171440287.png

安装openSSL(我是把自带的老版本删除后安装的)

cd /usrl/local
mkdir openssl
cd openssl
#把压缩包拷贝进来,解压
tar -zxvf openssl-3.1.0.tar.gz
cd openssl-3.1.0.tar.gz
#添加openssl配置
./config shared --prefix=/usr/local/openssl --openssldir=/usr/lib/openssl
#编译
make && make install
./config -t
make depend

cd /usr/local
ln -s openssl ssl

echo "/usr/local/openssl/lib64" | sudo tee -a /etc/ld.so.conf
ldconfig
#设置环境变量
vim /etc/profile
#添加一下
export OPENSSL=/usr/local/openssl/bin
export PATH=$OPENSSL:$PATH:$HOME/bin
#刷新配置
source /etc/profile
#查看版本
openssl version
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 194,390评论 5 459
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 81,821评论 2 371
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 141,632评论 0 319
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 52,170评论 1 263
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 61,033评论 4 355
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 46,098评论 1 272
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 36,511评论 3 381
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 35,204评论 0 253
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 39,479评论 1 290
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 34,572评论 2 309
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 36,341评论 1 326
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 32,213评论 3 312
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 37,576评论 3 298
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 28,893评论 0 17
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 30,171评论 1 250
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 41,486评论 2 341
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 40,676评论 2 335

推荐阅读更多精彩内容