下载地址
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/
安装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"]
- 为es设置ip绑定,默认是127.0.0.1,也就是默认只能通过127.0.0.1 或者localhost才能访问,也可配置0.0.0.0全部可以访问
- 为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;
出现如图所示则安装成功。
安装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