安装postgresql
官网下载链接:https://www.postgresql.org/download/
官网给出了不同操作系统的下载方式。
本次使用Rocky9.6版本下载;
这里有不同版本推荐使用的postgresql的版本:
根据版本选择数据库版本;
根据命令安装:
sudo dnf install -y https://download.postgresql.org/pub/repos/yum/reporpms/EL-9-x86_64/pgdg-redhat-repo-latest.noarch.rpm
sudo dnf -qy module disable postgresql
sudo dnf install -y postgresql16-server
sudo /usr/pgsql-16/bin/postgresql-16-setup initdb
sudo systemctl enable postgresql-16
sudo systemctl start postgresql-16
前三条命令是安装数据库;
sudo /usr/pgsql-16/bin/postgresql-16-setup initdb ---这里开始初始化;
然后是开机自启,启动.....
启动后查看数据库版本:
psql --version
以默认用户postgres身份进入PostgreSQL
su - postgres
启动psql
psql
查看数据库
\l
修改PostgreSQL数据库用户密码
ALTER USER postgres WITH PASSWORD '123456';
设置成功:
配置PostgreSQL远程访问
找到postgresql数据库配置的位置:
find / -name 'postgresql.conf' 2>/dev/null ---使用root账户查看
配置PostgreSQL远程访问
vim /var/lib/pgsql/16/data/postgresql.conf
将listen_addresses = 'localhost' 改为 listen_addresses = '*'
修改/var/lib/pgsql/data/pg_hba.conf文件,新增: host all all 0.0.0.0/0 md5
重启PostgreSQL服务
systemctl restart postgresql-16
使用远程连接PostgreSQL数据库方式测试(主机IP地址,默认密码123456)
psql -h192.168.224.3 -Upostgres -W
关闭防火墙:
systemctl stop firewalld
永久关闭防火墙:
systemctl disable firewalld
然后可以使用navicat连接测试;
数据库语法相关示例:
CREATE DATABASE mydb; #创建数据库
\l #查看所有数据库
\c mydb #切换当前数据库
CREATE TABLE test(id int,body varchar(100)); #创建表
\d #查看当前数据库下所有表
用户与访问授权语法示例:
CREATE USER test WITH PASSWORD 'test'; #新建用户
GRANT ALL PRIVILEGES ON DATABASE mydb TO test; #赋予指定账户指定数据库所有权限
REVOKE ALL PRIVILEGES ON DATABASE mydb TO test; #移除指定账户指定数据库所有权限
固定ip:
在 Rocky Linux 9.6 中设置静态 IP 地址可以通过修改 NetworkManager 配置文件来实现。通常,网络接口的配置文件位于 /etc/NetworkManager/system-connections/
目录下,文件名通常为接口名称加上 .nmconnection
后缀,例如 eth0.nmconnection
。
以下是一个完整的配置示例,展示了如何为 eth0
接口配置静态 IP 地址:
[connection]
id=eth0
uuid=af13006e-9462-3686-a2d9-b12bf54f9782
type=ethernet
autoconnect-priority=-999
interface-name=eth0
timestamp=1740916186[ethernet][ipv4]
address1=192.168.20.10/24,192.168.20.1
dns=114.114.114.114,8.8.8.8
method=manual[ipv6]
addr-gen-mode=eui64
method=auto[proxy]
配置后重启网卡生效:
sudo systemctl restart NetworkManager
使用 ip a
命令验证 IP 地址是否已正确配置
ip a show eth0
配置说明:[connection]: 定义连接的基本信息。id: 连接的名称,通常与接口名称一致。uuid: 唯一标识符,用于识别该连接。type: 连接类型,这里是 ethernet。autoconnect-priority: 自动连接优先级,负值表示不自动连接。interface-name: 网络接口的名称,这里是 eth0。timestamp: 连接创建的时间戳。[ipv4]: 配置 IPv4 地址和相关设置。address1: 静态 IP 地址、子网掩码和默认网关。格式为 IP地址/子网掩码,网关。dns: DNS 服务器地址,多个地址用逗号分隔。method: IP 地址分配方法,manual 表示手动配置静态 IP。[ipv6]: 配置 IPv6 地址。addr-gen-mode: IPv6 地址生成模式,eui64 表示使用 EUI-64 模式。method: IPv6 地址分配方法,auto 表示自动配置。[proxy]: 代理设置,此处为空,表示不使用代理。