mysql被黑惨了,换了个超复杂的密码都不行,黑客会删除你所有的自定义库,然后插一个warning表,让你给他汇比特币。

提醒大家放在在公网的DB,要非常注意数据的安全性,万一被勒索了,真是mmp了。

于是果断换库,psql的安全性不要好太多,权限控制到表。要是再被黑的话,我就好好学习网络,争取成为一个hacker :)

以下教程来自于https://blog.csdn.net/rudy5348/article/details/79299162

psql和mysql还是有些不同,语法什么的,17年用psql3开发过桌面application,不知不觉,pgadmin4已经是web版了。

此外,mysql是在太脆弱了(还是自己不菜,不懂安全性配置,没做好防护),还有就是,PostGIS这个神器,可以完美支持空间数据存储和空间分析,我正好需要。

从PostgreSQL9.3起就内置了JSON数据类型,而9.4又开始支持JSONB,这标志着PostgreSQL实际上已经是一个关系型数据库和NoSQL数据库的结合体了、

虽然postgresql是一个关系型数据库,但是近几次更新PostgreSQL的NoSQL性能甚至超过了MongoDB。

现在开始安装。

1:更新源 https://yum.postgresql.org/repopackages.php

执行 : yum install https://download.postgresql.org/pub/repos/yum/10/redhat/rhel-7-x86_64/pgdg-centos10-10-2.noarch.rpm -y

2:安装postgres

先查看postgresql源 yum list | grep postgresql

yum install postgresql10-contrib postgresql10-server -y

3:初始化数据库

Postgresql安装目录是/usr/pgsql-10,而Postgresql的数据目录是/var/lib/pgsql/版本号/data目录

在这里,如果在装系统开始分配var空间足够大则可以继续,如果分配var空间不够,我们需要更改数据目录,在这里,我们假设var空间足够大。直接开始初始化。

/usr/pgsql-10/bin/postgresql-10-setup initdb

4.设置开机启动

sudo systemctl start postgresql-10

sudo systemctl enable postgresql-10.service

5.登录postgresql并设置密码

postgresql在安装时默认添加用户postgres

输入

su - postgres
psql

我们来设置密码:

ALTER USER postgres WITH PASSWORD '密码';

退出:\q

备注其他:列出所有库\l  列出所有用户\du 列出库下所有表\d

5.默认情况下postgresql是不用密码不支持远程登录的。我们需要修改配置文件

vi /var/lib/pgsql/10/data/pg_hba.conf
修改前

修改后

保存退出

我们改远程访问

vi /var/lib/pgsql/10/data/postgresql.conf

修改成

重启postgresql

systemctl restart postgresql-10
登录
su - postgres
psql 6.
远程连接数据库

我们用pgadmin进行验证连接

输入相关信息

但是报错,后发现阿里云需要自定义配置安全策略,登录ECS控制台(https://ecs.console.aliyun.com),添加一下策略,搞定。

具体可以参考https://help.aliyun.com/knowledge_detail/59367.html?spm=a2c4e.11153987.0.0.72e21d39u6SDtZ#centos

7:测试创建数据库及创建用户

因为postgres属于superuser,我们需要创建部分低权限用户

直接在query tools下敲命令就行了,不用再跑putty上登录运行postgres,麻烦。

创建数据库

CREATE DATABASE testdb;

创建用户

CREATE USER testuser CREATEDB LOGIN PASSWORD 'testpassword';

将testdb所有权限赋给用户testuser

GRANT ALL ON DATABASE testdb TO testuser;

删除数据库

drop database testdb;

删除用户

drop role testuser;
 

centos7 + postgresql10的更多相关文章

  1. Docker:Docker部署postgresql数据库

    环境 Centos-7  Postgresql-10 docker-19 yum加载Postgresql yum install https://download.postgresql.org/pub ...

  2. CentOS7安装PostgreSQL10,pgadmin4

    ======PostgreSQL10 CentOS7=================FYI:https://tecadmin.net/install-postgresql-server-centos ...

  3. 在CentOS7(虚拟机)下通过源码安装Postgresql10以及基本配置

    操作系统:CentOS7 安装文件:postgresql-10.0.tar.gz 系统环境:gcc.Python 1:源码安装 [postgres@localhost ~]# tar zxvf pos ...

  4. centos7上的postgresql10安装和配置

    安装数据库 安装参考官方文档:https://www.postgresql.org/download/linux/redhat/ 1.Install the repository RPM: yum i ...

  5. centos7 安装postgresql10

    https://blog.csdn.net/rudy5348/article/details/79299162

  6. centos7部署posgresql和kong总结

    之前在macos系统测试安装psql和kong,但是实际环境中,大部分是部署在linux服务器上.下面记录了在centos7上部署postgresql和kong的总结以及遇到的一些问题的解决. 查看c ...

  7. centos7安装postgres-10

    目录 安装 下载yum repo 安装server和客户端 初始化db 启动Postgres 设置开机启动 修改data目录 停止服务 迁移data目录 重启 连接测试 修改允许远程其他IP连接 前一 ...

  8. Ubuntu18.04安装postgresql-10

    Ubuntu18安装postgresql-10 最近切换Ubuntu作为办公系统,所有软件安装都要重来一遍. 官方文档: https://www.postgresql.org/download/lin ...

  9. CentOS7使用yum安装PostgreSQL和PostGIS

    更新yum源 CentOS7默认yum源的PostgreSQL版本过低,不适合在本版本上使用.在https://yum.postgresql.org/repopackages.php上找到适合Cent ...

随机推荐

  1. 使用 pip wheel 实现 Python 依赖包的离线安装

    pip python 依赖 安装 有时候, 需要部署 Python 应用的服务器没有网络连接, 这时候, 你就要把整个 Python 应用做成离线安装包. 借助 wheel, 很容易就可以实现. 首先 ...

  2. java获取远程图片分辨率

    package com.haiyisoft.hyoaPc; import java.awt.image.BufferedImage;import java.io.IOException;import ...

  3. SqlDbx连接oracle(可用)

    解压SqlDbx.zip,将SqlDbx放到C:盘根目录 1.Path里面增加:C:\SqlDbx  Path是为了找tnsnames.ora 2.增加系统变量:ORACLE_HOME,路径:C:\S ...

  4. array_splice 在数组某位置插入数据

    $arr=array('a','b','c','d','e','f','g');//目标数组 $i_arr=array(');//要插入的数组 $n=;//插入的位置 array_splice($ar ...

  5. Maven项目添加阿里云HBase依赖之后第一行才出现红叉报错“Missing artifact jdk.tools:jdk.tools:jar:1.6”的解决办法

    首先是从阿里云上下载了一个样例项目"hbase-demo",然后用eclipse打开,此时eclipse会去下载aliyun.hbase依赖. 等待一段时间后,pom.xml却报错 ...

  6. SpringBoot: 10.整合mybatis(转)

    需求:通过使用 SpringBoot+SpringMVC+MyBatis 整合实现一个对数据库中的 t_user 表的 CRUD 的操作 1.创建maven项目,添加项目所需依赖 <!--spr ...

  7. Flutter安卓客户端打包

    想要安装到手机上,必须要进行打包,因为没有苹果手机,所以只能打包Android客户端的apk. 检查 App的配置 查看默认应用程序清单文件(位于/android/app/src/main/中的And ...

  8. 产品之我见(1)-女性APP

    我曾下载过几款女性APP,下载的初衷是想要记录.同时预估下一次生理周期开始的时间. 在查找网上测评推荐及个人下载试用了四五款后,我当时留下美柚.大姨吗.Clue这三款.            美柚  ...

  9. OpenGL.资料积累

    1.又一种Qt + OpenGL 的离屏渲染方法 - liji_digital的博客 - CSDN博客.html(https://blog.csdn.net/liji_digital/article/ ...

  10. C#实现多线程的方式:Task——任务

    简介 .NET 4包含新名称空间System.Threading.Tasks,它 包含的类抽象出了线程功能. 在后台使用ThreadPool. 任务表示应完成的某个单元的工作. 这个单元的工作可以在单 ...