欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

初始Linux虚拟机下创建postgresql并在外网使用全步骤(详细)

程序员文章站 2024-03-08 20:05:28
...

一、安装数据库

1. root登陆虚拟机
2. 编辑vim /etc/sysconfig/network-scripts/ifcfg-eth0
3. 将onboot=no改为ONBOOT=yes :wq保存
4. 在终端输入service network start(用于更新网络配置)
5. 最后在终端输入ifconfig查看是否修改成功。修改成功会显示不是本地的地址127.0.0.1
6. 我所使用的虚拟机是下好postgresql的tar.gz格式的包然后用链接工具上传到虚拟机上也可以是用yum命令直接拉取源下载postgresql
7. 创建用户
$useradd postgres
$passwd postgres
8. 直接上传到/home/postgres,并解压
$tar -xvzf postgresql-10.1-1-linux-x64-binaries.tar.gz
9. 创建pgsql数据目录
$mkdir /home/postgres/pgsql_data
10. 将pgsql数据库目录加入环境变量
$vi .bash_profile
 
  修改PATH为:
 
   PATH=$PATH:$HOME/bin:/home/postgres/pgsql/bin
 
 
 加入export PGDATA=/home/postgres/pgsql_data
 
  
 
$source .bash_profile
11.初始化数据库
$/home/postgres/pgsql/bin/initdb -D /home/postgres/pgsql_data
12.启动和停止数据库
$/home/postgres/pgsql/bin/pg_ctl -D /home/postgres/pgsql_data/ -l logfile start
 
$/home/postgres/pgsql/bin/pg_ctl -D /home/postgres/pgsql_data/ -l logfile stop
13.检测数据是否启动
端口:
$netstat -an|grep 5432
服务:
$ps -ef|grep pgsql

二、登录数据库,简单操作

1、登录数据库

本机登录

$psql
2、查看数据库列表
postgres=#\l
3、创建新数据库
postgres=# CREATE DATABASE db_quhaizhou WITH OWNER=postgres ENCODING='UTF-8';
4、切换数据库
postgres=#\c db_quhaizhou
5、创建表
postgres=#CREATE TABLE student (
	 
	  id integer NOT NULL,
	 
      name character(32),
	 
	  number char(5),
	 
	  CONSTRAINT student_pkey PRIMARY KEY (id)
	 
	);
6、查看表结构
postgres=#\d student;
7、插入数据
postgres=#INSERT INTO student (id, name, number) VALUES (1, '张三', '1023');
8、查询表
postgres=#SELECT * FROM student WHERE id=1;
9、退出数据库
postgres=#\q

三、将端口对外开放

开启特定的端口
firewall-cmd --zone=public --add-port=8888/tcp --permanent  
firewall-cmd --zone=public --add-port=8666/tcp --permanent  
重新载入,使配置生效
systemctl restart firewalld.service
查看所有打开的端口:
firewall-cmd --zone=public --list-ports

四、修改数据库配置文件开放远程连接

1.修改pg_hba.conf文件

配置用户的访问权限(#开头的行是注释内容)

#TYPE DATABASE  USER    CIDR-ADDRESS     METHOD
#"local" is for Unix domain socket connections only
local all    all               trust
#IPv4 local connections:
host  all    all    127.0.0.1/32     trust
host  all    all    0.0.0.0/0    md5
#IPv6 local connections:
host  all    all    ::1/128       trust

上边的host all all 0.0.0.0/0 md5是新添加的内容,表示允许所有网段上的所有主机使用所有合法的数据库用户名访问数据库,并提供加密的密码验证。

2.修改postgresql.conf文件

将数据库服务器的监听模式修改为监听所有主机发出的连接请求:
定位到 #listen_addresses=‘localhost’ ,PostgreSQL安装完成后,默认是只接受来在本机localhost的连接请求。
将行开头的#去掉,将行内容修改为listen_addresses='*'来允许数据库服务器监听来自任何主机的连接请求。

ps:这两个文件都在pgsql_data里
然后重启

虚拟机的水挺深,鼓捣了好久,希望对各位有帮助。

总结一些自己在路上,用过的以及遇到的一些坑。并顺便帮助其他人。一起进步!!!