Linux(CentOS7)下源码编译 PostgreSQL13.10 安装手册

Linux(CentOS7)下PostgreSQL安装手册

文章目录

  • 一、准备PostgreSQL
  • 二、安装PostgreSQL
    • 2.1解压安装包
    • 2.2编译PG
    • 2.3查看PG安装目录
    • 2.4配置PG环境变量
    • 2.5查看PG版本
    • 2.6创建postgres用户
    • 2.7创建PG数据库数据存放目录
    • 2.8授权PG数据库数据存放目录
    • 2.9切换postgres用户
    • 2.10初始化PG数据库
    • 2.11启动PG数据库服务
    • 2.12查看PG数据库服务状态
    • 2.13登录PG数据库
    • 2.14查看现有数据库
    • 2.15查看PG数据库版本
    • 2.16配置PG数据库postgres用户密码
    • 2.17退出PG数据库
    • 2.18停止PG数据库服务
    • 2.19查看PG数据库服务状态
  • 三、配置PostgreSQL
    • 3.1修改关键配置文件:
    • 3.2重启PG数据库
    • 3.3本地登录PG数据库
    • 3.4远程连接PG数据库
    • 3.5停止PG数据库
    • 3.6编写PG数据库系统服务配置文件
    • 3.7加载系统配置文件
    • 3.8查看PG数据库系统服务
    • 3.9启动PG数据库系统服务
    • 3.10设置PG数据库系统服务开机自启动
    • 3.11停止PG数据库系统服务


一、准备PostgreSQL

下载地址:
https://www.postgresql.org/ftp/source/v13.10/
源码包:
https://ftp.postgresql.org/pub/source/v13.10/postgresql-13.10.tar.gz

由于官网提供下载方式在国外,国内下载速度慢
所以使用国内阿里云镜像站下载
下载地址:
https://mirrors.aliyun.com/postgresql/source/v13.10/
源码包:
https://mirrors.aliyun.com/postgresql/source/v13.10/postgresql-13.10.tar.gz


前提:有/opt/software目录
如果没有,则需要创建

mkdir /opt/software

在服务器下载:(我们使用阿里云下载)

wget https://mirrors.aliyun.com/postgresql/source/v13.10/postgresql-13.10.tar.gz -P /opt/software

[root@dw3 ~]# wget https://mirrors.aliyun.com/postgresql/source/v13.10/postgresql-13.10.tar.gz -P /opt/software
--2023-04-09 22:06:18--  https://mirrors.aliyun.com/postgresql/source/v13.10/postgresql-13.10.tar.gz
正在解析主机 mirrors.aliyun.com (mirrors.aliyun.com)... 8.132.50.95, 8.132.50.94, 8.132.50.96, ...
正在连接 mirrors.aliyun.com (mirrors.aliyun.com)|8.132.50.95|:443... 已连接。
已发出 HTTP 请求,正在等待回应... 200 OK
长度:28117237 (27M) [application/octet-stream]
正在保存至: “/opt/software/postgresql-13.10.tar.gz”100%[======================================>] 28,117,237  5.44MB/s 用时 5.0s   2023-04-09 22:06:23 (5.41 MB/s) - 已保存 “/opt/software/postgresql-13.10.tar.gz” [28117237/28117237])[root@dw3 ~]# 

二、安装PostgreSQL

2.1解压安装包

(1)先来创建解压之后存放的目录

[root@dw3 ~]# mkdir -p /opt/module/

(2)再来解压

[root@dw3 ~]# tar -zxf /opt/software/postgresql-13.10.tar.gz -C /opt/module/
[root@dw3 ~]#

(3)进入解压后的目录

[root@dw3 ~]# cd /opt/module/postgresql-13.10/
[root@dw3 postgresql-13.10]# ls
aclocal.m4  configure     contrib    doc             HISTORY  Makefile  src
config      configure.in  COPYRIGHT  GNUmakefile.in  INSTALL  README
[root@dw3 postgresql-13.10]# 

2.2编译PG

注意:
编译PG之前,先安装两个依赖包,否则后边会遇到报错

yum install readline-devel zlib-devel -y

下面详细编译过程(有遇到报错)

[root@dw3 postgresql-13.10]# ./configure --prefix=/usr/local/pg13

遇到报错:

If you have readline already installed, see config.log for details on the
failure.  It is possible the compiler isn't looking in the proper directory.
Use --without-readline to disable readline support.
[root@dw3 postgresql-13.10]# 

如何解决?
上面这个报错说明:操作系统缺少readline-devel这个包,那么我们来安装它

yum install readline-devel -y

[root@dw3 postgresql-13.10]# yum install readline-devel -y
已加载插件:fastestmirror
Loading mirror speeds from cached hostfile
正在解决依赖关系
--> 正在检查事务
---> 软件包 readline-devel.x86_64.0.6.2-11.el7 将被 安装
--> 正在处理依赖关系 ncurses-devel,它被软件包 readline-devel-6.2-11.el7.x86_64 需要
--> 正在检查事务
---> 软件包 ncurses-devel.x86_64.0.5.9-14.20130511.el7_4 将被 安装
--> 解决依赖关系完成依赖关系解决===============================================================================Package             架构        版本                          源         大小
===============================================================================
正在安装:readline-devel      x86_64      6.2-11.el7                    base      139 k
为依赖而安装:ncurses-devel       x86_64      5.9-14.20130511.el7_4         base      712 k事务概要
===============================================================================
安装  1 软件包 (+1 依赖软件包)总下载量:851 k
安装大小:2.4 M
Downloading packages:
(1/2): readline-devel-6.2-11.el7.x86_64.rpm               | 139 kB   00:00     
(2/2): ncurses-devel-5.9-14.20130511.el7_4.x86_64.rpm     | 712 kB   00:00     
-------------------------------------------------------------------------------
总计                                              4.2 MB/s | 851 kB  00:00     
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
警告:RPM 数据库已被非 yum 程序修改。正在安装    : ncurses-devel-5.9-14.20130511.el7_4.x86_64                 1/2 正在安装    : readline-devel-6.2-11.el7.x86_64                           2/2 验证中      : readline-devel-6.2-11.el7.x86_64                           1/2 验证中      : ncurses-devel-5.9-14.20130511.el7_4.x86_64                 2/2 已安装:readline-devel.x86_64 0:6.2-11.el7                                           作为依赖被安装:ncurses-devel.x86_64 0:5.9-14.20130511.el7_4                                 完毕!
[root@dw3 postgresql-13.10]# 

下面我们重新编译PG

[root@dw3 postgresql-13.10]# ./configure --prefix=/usr/local/pg13

又遇到报错:

configure: error: zlib library not found
If you have zlib already installed, see config.log for details on the
failure.  It is possible the compiler isn't looking in the proper directory.
Use --without-zlib to disable zlib support.
[root@dw3 postgresql-13.10]# 

如何解决?
上面这个报错说明:操作系统缺少zlib-devel这个包,那么我们来安装它
yum install zlib-devel -y

[root@dw3 postgresql-13.10]# yum install zlib-devel -y
已加载插件:fastestmirror
Loading mirror speeds from cached hostfile
正在解决依赖关系
--> 正在检查事务
---> 软件包 zlib-devel.x86_64.0.1.2.7-21.el7_9 将被 安装
--> 解决依赖关系完成依赖关系解决===============================================================================Package           架构          版本                     源              大小
===============================================================================
正在安装:zlib-devel        x86_64        1.2.7-21.el7_9           updates         50 k事务概要
===============================================================================
安装  1 软件包总下载量:50 k
安装大小:132 k
Downloading packages:
zlib-devel-1.2.7-21.el7_9.x86_64.rpm                      |  50 kB   00:00     
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction正在安装    : zlib-devel-1.2.7-21.el7_9.x86_64                           1/1 验证中      : zlib-devel-1.2.7-21.el7_9.x86_64                           1/1 已安装:zlib-devel.x86_64 0:1.2.7-21.el7_9                                           完毕!
[root@dw3 postgresql-13.10]# 
下面我们重新编译PG
[root@dw3 postgresql-13.10]# ./configure --prefix=/usr/local/pg13

编译成功如下所示:

1

然后
make编译

[root@dw3 postgresql-13.10]# make

由于CPU是单核,所以-j参数无需使用

make install安装

[root@dw3 postgresql-13.10]# make install

编译安装完成

2

3

2.3查看PG安装目录

先进入安装目录
cd /usr/local/pg13/

[root@dw3 postgresql-13.10]# cd /usr/local/pg13/

然后查看

[root@dw3 pg13]# ls
bin  include  lib  share
[root@dw3 pg13]# 

2.4配置PG环境变量

vim /etc/profile.d/pg.sh

复制下列内容到文件

export PG_HOME=/usr/local/pg13
export PATH=$PG_HOME/bin:$PATH
export LD_LIBRARY_PATH=$PG_HOME/lib

注意:

LD_LIBRARY_PATH 为PG数据库源码编译出来之后的动态库存放的位置

[root@dw3 pg13]# vim /etc/profile.d/pg.sh
[root@dw3 pg13]# 
[root@dw3 pg13]# cat /etc/profile.d/pg.sh
export PG_HOME=/usr/local/pg13
export PATH=$PG_HOME/bin:$PATH
export LD_LIBRARY_PATH=$PG_HOME/lib
[root@dw3 pg13]# 
[root@dw3 pg13]# source /etc/profile.d/pg.sh
[root@dw3 pg13]# 

2.5查看PG版本

psql -V

[root@dw3 pg13]# psql -V
psql (PostgreSQL) 13.10
[root@dw3 pg13]# 

2.6创建postgres用户

useradd postgres

[root@dw3 pg13]# useradd postgres
[root@dw3 pg13]#

2.7创建PG数据库数据存放目录

mkdir -p /usr/local/pg13/data

[root@dw3 pg13]# mkdir -p /usr/local/pg13/data
[root@dw3 pg13]# ls
bin  data  include  lib  share
[root@dw3 pg13]#

2.8授权PG数据库数据存放目录

chown -R postgres. /usr/local/pg13

[root@dw3 pg13]# chown -R postgres. /usr/local/pg13
[root@dw3 pg13]# 

2.9切换postgres用户

su postgres

[root@dw3 pg13]# su postgres
[postgres@dw3 pg13]$
[postgres@dw3 pg13]$ ls -l
总用量 20
drwxr-xr-x 2 postgres postgres 4096 4月  10 00:03 bin
drwxr-xr-x 2 postgres postgres 4096 4月  10 00:16 data
drwxr-xr-x 4 postgres postgres 4096 4月  10 00:03 include
drwxr-xr-x 4 postgres postgres 4096 4月  10 00:03 lib
drwxr-xr-x 3 postgres postgres 4096 4月  10 00:03 share
[postgres@dw3 pg13]$ 

2.10初始化PG数据库

./bin/initdb -D /usr/local/pg13/data

[postgres@dw3 pg13]$ ./bin/initdb -D /usr/local/pg13/data
The files belonging to this database system will be owned by user "postgres".
This user must also own the server process.The database cluster will be initialized with locale "zh_CN.UTF-8".
The default database encoding has accordingly been set to "UTF8".
initdb: could not find suitable text search configuration for locale "zh_CN.UTF-8"
The default text search configuration will be set to "simple".Data page checksums are disabled.fixing permissions on existing directory /usr/local/pg13/data ... ok
creating subdirectories ... ok
selecting dynamic shared memory implementation ... posix
selecting default max_connections ... 100
selecting default shared_buffers ... 128MB
selecting default time zone ... Asia/Shanghai
creating configuration files ... ok
running bootstrap script ... ok
performing post-bootstrap initialization ... ok
syncing data to disk ... okinitdb: warning: enabling "trust" authentication for local connections
You can change this by editing pg_hba.conf or using the option -A, or
--auth-local and --auth-host, the next time you run initdb.Success. You can now start the database server using:./bin/pg_ctl -D /usr/local/pg13/data -l logfile start[postgres@dw3 pg13]$ 

2.11启动PG数据库服务

[postgres@dw3 pg13]$ ./bin/pg_ctl -D /usr/local/pg13/data -l logfile start
waiting for server to start.... done
server started
[postgres@dw3 pg13]$

2.12查看PG数据库服务状态

[postgres@dw3 pg13]$ ./bin/pg_ctl -D /usr/local/pg13/data -l logfile status
pg_ctl: server is running (PID: 15401)
/usr/local/pg13/bin/postgres "-D" "/usr/local/pg13/data"
[postgres@dw3 pg13]$ 

2.13登录PG数据库

psql

[postgres@dw3 pg13]$ psql
psql (13.10)
Type "help" for help.postgres=# 

2.14查看现有数据库

\l

postgres=# \lList of databasesName    |  Owner   | Encoding |   Collate   |    Ctype    |   Access privileges   
-----------+----------+----------+-------------+-------------+-----------------------postgres  | postgres | UTF8     | zh_CN.UTF-8 | zh_CN.UTF-8 | template0 | postgres | UTF8     | zh_CN.UTF-8 | zh_CN.UTF-8 | =c/postgres          +|          |          |             |             | postgres=CTc/postgrestemplate1 | postgres | UTF8     | zh_CN.UTF-8 | zh_CN.UTF-8 | =c/postgres          +|          |          |             |             | postgres=CTc/postgres
(3 rows)postgres=#

2.15查看PG数据库版本

postgres=# select version();version                                                  
----------------------------------------------------------------------------------------------------------PostgreSQL 13.10 on x86_64-pc-linux-gnu, compiled by gcc (GCC) 4.8.5 20150623 (Red Hat 4.8.5-44), 64-bit
(1 row)postgres=# 

2.16配置PG数据库postgres用户密码

默认没有密码,设置密码为:Pg_10.24!

\password

postgres=# \password
Enter new password for user "postgres": 
Enter it again: 
postgres=# 

2.17退出PG数据库

\q

postgres=# \q
[postgres@dw3 pg13]$ 

2.18停止PG数据库服务

[postgres@dw3 pg13]$ ./bin/pg_ctl -D /usr/local/pg13/data -l logfile stop
waiting for server to shut down.... done
server stopped
[postgres@dw3 pg13]$ 

2.19查看PG数据库服务状态

[postgres@dw3 pg13]$ ./bin/pg_ctl -D /usr/local/pg13/data -l logfile status
pg_ctl: no server running
[postgres@dw3 pg13]$ 

三、配置PostgreSQL

3.1修改关键配置文件:

(1)配置用户权限、远程权限

vim /usr/local/pg13/data/pg_hba.conf

配置下列内容

host    all             all             127.0.0.1/32            md5
host    all             all             0.0.0.0/0              md5

(2)修改访问地址、最大连接数

vim /usr/local/pg13/data/postgresql.conf

配置下列内容

listen_addresses = '*'          # what IP address(es) to listen on;
port = 5432                             # (change requires restart)
max_connections = 1000                  # (change requires restart)
logging_collector = on          # Enable capturing of stderr and csvlog
log_directory = '/usr/local/pg13/log'                   # directory where log files are written,
[postgres@dw3 pg13]$ ll /usr/local/pg13/data/pg_hba.conf 
-rw------- 1 postgres postgres 4760 4月  10 00:25 /usr/local/pg13/data/pg_hba.conf
[postgres@dw3 pg13]$ 
[postgres@dw3 pg13]$ ll /usr/local/pg13/data/postgresql.conf 
-rw------- 1 postgres postgres 28093 4月  10 00:25 /usr/local/pg13/data/postgresql.conf
[postgres@dw3 pg13]$ 

3.2重启PG数据库

[postgres@dw3 pg13]$ pg_ctl -D /usr/local/pg13/data restart
waiting for server to shut down.... done
server stopped
waiting for server to start....2023-04-10 01:08:22.214 CST [15646] LOG:  redirecting log output to logging collector process
2023-04-10 01:08:22.214 CST [15646] HINT:  Future log output will appear in directory "/usr/local/pg13/log".done
server started
[postgres@dw3 pg13]$ 
[postgres@dw3 pg13]$ ll
总用量 28
drwxr-xr-x  2 postgres postgres 4096 4月  10 00:03 bin
drwx------ 19 postgres postgres 4096 4月  10 01:08 data
drwxr-xr-x  4 postgres postgres 4096 4月  10 00:03 include
drwxr-xr-x  4 postgres postgres 4096 4月  10 00:03 lib
drwx------  2 postgres postgres 4096 4月  10 01:08 log
-rw-------  1 postgres postgres 3911 4月  10 01:08 logfile
drwxr-xr-x  3 postgres postgres 4096 4月  10 00:03 share
[postgres@dw3 pg13]$ ll log
总用量 4
-rw------- 1 postgres postgres 605 4月  10 01:08 postgresql-2023-04-10_010822.log
[postgres@dw3 pg13]$ 

3.3本地登录PG数据库

注意:这次登录需要输入密码了

[postgres@dw3 pg13]$ psql -U postgres -d postgres -h 127.0.0.1 -p 5432
Password for user postgres: 
psql (13.10)
Type "help" for help.postgres=# 

3.4远程连接PG数据库

服务器公网IP:47.92.93.96
PG默认端口号:5432
PG远程用户:postgres
PG远程用户密码:Pg_10.24!

使用远程工具,连接测试,以DataGrip工具为例:

4

2

3.5停止PG数据库

[postgres@dw3 pg13]$ ./bin/pg_ctl -D /usr/local/pg13/data -l logfile stop
waiting for server to shut down.... done
server stopped
[postgres@dw3 pg13]$ 

3.6编写PG数据库系统服务配置文件

注意:root用户下编写

vim /lib/systemd/system/postgres.service

[root@dw3 pg13]# cat /lib/systemd/system/postgres.service
[Unit]
Description=postgresql-13.10
After=network.target
After=syslog.target[Install]
WantedBy=multi-user.target[Service]
Type=forking
User=postgres
Group=postgres
ExecStart=/usr/local/pg13/bin/pg_ctl -D /usr/local/pg13/data start
ExecStop=/usr/local/pg13/bin/pg_ctl -D /usr/local/pg13/data stop
PrivateTmp=true
[root@dw3 pg13]#  

3.7加载系统配置文件

[root@dw3 pg13]# systemctl daemon-reload

3.8查看PG数据库系统服务

[root@dw3 pg13]# systemctl status postgres.service 
● postgres.service - postgresql-13.10Loaded: loaded (/usr/lib/systemd/system/postgres.service; disabled; vendor preset: disabled)Active: inactive (dead)
[root@dw3 pg13]# 

3.9启动PG数据库系统服务

[root@dw3 ~]# systemctl start postgres.service
[root@dw3 ~]# systemctl status postgres.service 
● postgres.service - postgresql-13.10Loaded: loaded (/usr/lib/systemd/system/postgres.service; disabled; vendor preset: disabled)Active: active (running) since 一 2023-04-10 01:38:05 CST; 2s agoProcess: 16123 ExecStart=/usr/local/pg13/bin/pg_ctl -D /usr/local/pg13/data start (code=exited, status=0/SUCCESS)Main PID: 16125 (postgres)Tasks: 8Memory: 41.0MCGroup: /system.slice/postgres.service├─16125 /usr/local/pg13/bin/postgres -D /usr/local/pg13/data├─16126 postgres: logger ├─16128 postgres: checkpointer ├─16129 postgres: background writer ├─16130 postgres: walwriter ├─16131 postgres: autovacuum launcher ├─16132 postgres: stats collector └─16133 postgres: logical replication launcher 4月 10 01:38:05 dw3 systemd[1]: Starting postgresql-13.10...
4月 10 01:38:05 dw3 pg_ctl[16123]: waiting for server to start....2023-04-10 01:38:05.439 CST [1612...ocess
4月 10 01:38:05 dw3 pg_ctl[16123]: 2023-04-10 01:38:05.439 CST [16125] HINT:  Future log output wil...log".
4月 10 01:38:05 dw3 systemd[1]: Started postgresql-13.10.
Hint: Some lines were ellipsized, use -l to show in full.
[root@dw3 ~]# 

3.10设置PG数据库系统服务开机自启动

[root@dw3 ~]# systemctl enable postgres.service 
Created symlink from /etc/systemd/system/multi-user.target.wants/postgres.service to /usr/lib/systemd/system/postgres.service.
[root@dw3 ~]# 
[root@dw3 ~]# systemctl status postgres.service 
● postgres.service - postgresql-13.10Loaded: loaded (/usr/lib/systemd/system/postgres.service; enabled; vendor preset: disabled)Active: active (running) since 一 2023-04-10 01:38:05 CST; 2min 56s agoMain PID: 16125 (postgres)CGroup: /system.slice/postgres.service├─16125 /usr/local/pg13/bin/postgres -D /usr/local/pg13/data├─16126 postgres: logger ├─16128 postgres: checkpointer ├─16129 postgres: background writer ├─16130 postgres: walwriter ├─16131 postgres: autovacuum launcher ├─16132 postgres: stats collector └─16133 postgres: logical replication launcher 4月 10 01:38:05 dw3 systemd[1]: Starting postgresql-13.10...
4月 10 01:38:05 dw3 pg_ctl[16123]: waiting for server to start....2023-04-10 01:38:05.439 CST [16125] LOG:  redirecting log o... process
4月 10 01:38:05 dw3 pg_ctl[16123]: 2023-04-10 01:38:05.439 CST [16125] HINT:  Future log output will appear in directory "/us...13/log".
4月 10 01:38:05 dw3 systemd[1]: Started postgresql-13.10.
Hint: Some lines were ellipsized, use -l to show in full.
[root@dw3 ~]# 

3.11停止PG数据库系统服务

[root@dw3 ~]# systemctl stop postgres.service 
[root@dw3 ~]# systemctl status postgres.service 
● postgres.service - postgresql-13.10Loaded: loaded (/usr/lib/systemd/system/postgres.service; enabled; vendor preset: disabled)Active: inactive (dead) since 一 2023-04-10 01:48:55 CST; 1s agoProcess: 16303 ExecStop=/usr/local/pg13/bin/pg_ctl -D /usr/local/pg13/data stop (code=exited, status=0/SUCCESS)Process: 16285 ExecStart=/usr/local/pg13/bin/pg_ctl -D /usr/local/pg13/data start (code=exited, status=0/SUCCESS)Main PID: 16287 (code=exited, status=0/SUCCESS)4月 10 01:48:44 dw3 systemd[1]: Starting postgresql-13.10...
4月 10 01:48:44 dw3 pg_ctl[16285]: waiting for server to start....2023-04-10 01:48:44.728 CST [16287] LOG:  redirecting log o... process
4月 10 01:48:44 dw3 pg_ctl[16285]: 2023-04-10 01:48:44.728 CST [16287] HINT:  Future log output will appear in directory "/us...13/log".
4月 10 01:48:44 dw3 systemd[1]: Started postgresql-13.10.
4月 10 01:48:55 dw3 systemd[1]: Stopping postgresql-13.10...
4月 10 01:48:55 dw3 systemd[1]: Stopped postgresql-13.10.
Hint: Some lines were ellipsized, use -l to show in full.
[root@dw3 ~]# 

PG数据库安装到此结束!


我们下期见,拜拜!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/28531.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

在Windows下安装Anaconda平台

Anaconda介绍 安装Python的方法有很多,其中利用Anaconda来安装,是最为安全和便捷的方法之一。在Python中安装类库,各个类库之间可能存在相互依赖、版本冲突等问题。为了解决这个问题,Python社区提供了方便的软件包管理工具&#…

《数据结构》数据结构概念,顺序表,链表

目录 1. 为什么学习数据结构? 2. 数据结构 2.1. 数据 2.2. 逻辑结构 2.3. 存储结构 2.4. 操作 3. 算法 3.1. 算法与程序 3.2. 算法与数据结构 3.3. 算法的特性 3.4. 如何评价一个算法的好坏 4. 线性表 4.1. 顺序表 4.2. 单向链表 4.3. 单向循环链表&…

如何在Windows中将任务导入任务计划程序

任务计划程序使你能够在选定的计算机上自动执行例行任务。任务调度程序通过监视你选择的启动任务的任何条件(称为触发器),然后在满足条件时执行任务来实现这一点。 你可以导入导出的任务,这将把导入的任务添加到任务文件夹中&…

复习java基础

复习一天有点忘了的知识: 结构化编程 结构化程式设计(英语:Structured programming)是1960年代开始发展起来的一种编程典范。它采用子程序、程式码区块、for循环以及while循环等结构来取代传统的goto。 指导思想 自顶向下、逐步求精、模块化 编程过程 流程图是…

SOMEIP协议----第一节(概述)

SOMEIP协议 概述 1.什么是SOME/IP? SOME/IP: 如上图所述,连起来就是基于车载以太网技术的面向服务的可扩展中间件 汽车某ECU软件算法如果需要和其他ECU交互,大部分都通过跨ECU之间的服务来实现,即可以通过车载以太网异步调用其他ECU上的服务,应用开发者只需要关注服务…

Linux下安装Mysql (CentOS 7) 详解

文章目录 前言环境检查查看是否安装MySql查看系统版本 源安装安装mysql的yum源官网下载从windows上传到linuxrz命令 方法2: 安装Mysql常见错误密钥问题安装后查看mysql是否可以工作查看是否安装成功启动服务 登录mysql配置文件方法(免密码) 使…

【ARM Cortex-M 系列 1 -- Cortex-M0, M3, M4, M7, M33 差异】

文章目录 Cortex-M 系列介绍Cortex-M0/M0 介绍Cortex-M3/M4 介绍Cortex-M7 介绍Cotex-M33 介绍 下篇文章:ARM Cortex-M 系列 2 – CPU 之 Cortex-M7 介绍 Cortex-M 系列介绍 Cortex-M0/M0 介绍 Cortex-M0 是 ARM 公司推出的一款微控制器(MCU&#xff0…

http连接处理(下)(四)

1.结合代码分析请求报文响应 下面我们将介绍服务器如何响应请求报文,并将该报文发送给浏览器端。首先介绍一些基础API,然后结合流程图和代码对服务器响应请求报文进行详解。 基础API部分,介绍stat、mmap、iovec、writev。 流程图部分&…

go语言中的string类型简介

在 Go 中,String 是一种不可变的类型,不能被修改。 在 Go 语言中,字符串由 Unicode 字符组成,每个字符都可以用一个或多个字节来表示。我们使用双引号或反引号来定义字符串,使用反引号定义的字符串不会对其内容进行任何…

win7,win10下删除HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Enum\Root\报错

在调试虚拟网卡驱动时,由于修改错误,导致枚举顺序错乱,因此通过删除HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Enum\Root\WINTUN下的所有项,即可,win10可用。 1、下载PStools: http://technet.microsoft.c…

(学习笔记-TCP基础知识)TCP与UDP区别

UDP UDP不提供复杂的控制机制,利用IP提供面向[无连接]的通信服务。 UDP协议非常简单,头部只有8个字节(位),UDP的头部格式如下: 目标和源端口:主要是告诉UDP协议应该把报文发给哪个进程包长度:该字段保存了…

行为式验证码(成语点选)(C#版和Java版)

一、先看效果图 二、背景介绍 图形验证码网上有挺多,比如:网易易盾、腾讯防水墙、阿里云验证码等等。参考了一下,自己实现了一个简单的成语点选的模式。 三、实现思路 1.选择若干张图片(这里使用的是320x160的尺寸)…