centos7 + postgresql10
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的更多相关文章
- Docker:Docker部署postgresql数据库
环境 Centos-7 Postgresql-10 docker-19 yum加载Postgresql yum install https://download.postgresql.org/pub ...
- CentOS7安装PostgreSQL10,pgadmin4
======PostgreSQL10 CentOS7=================FYI:https://tecadmin.net/install-postgresql-server-centos ...
- 在CentOS7(虚拟机)下通过源码安装Postgresql10以及基本配置
操作系统:CentOS7 安装文件:postgresql-10.0.tar.gz 系统环境:gcc.Python 1:源码安装 [postgres@localhost ~]# tar zxvf pos ...
- centos7上的postgresql10安装和配置
安装数据库 安装参考官方文档:https://www.postgresql.org/download/linux/redhat/ 1.Install the repository RPM: yum i ...
- centos7 安装postgresql10
https://blog.csdn.net/rudy5348/article/details/79299162
- centos7部署posgresql和kong总结
之前在macos系统测试安装psql和kong,但是实际环境中,大部分是部署在linux服务器上.下面记录了在centos7上部署postgresql和kong的总结以及遇到的一些问题的解决. 查看c ...
- centos7安装postgres-10
目录 安装 下载yum repo 安装server和客户端 初始化db 启动Postgres 设置开机启动 修改data目录 停止服务 迁移data目录 重启 连接测试 修改允许远程其他IP连接 前一 ...
- Ubuntu18.04安装postgresql-10
Ubuntu18安装postgresql-10 最近切换Ubuntu作为办公系统,所有软件安装都要重来一遍. 官方文档: https://www.postgresql.org/download/lin ...
- CentOS7使用yum安装PostgreSQL和PostGIS
更新yum源 CentOS7默认yum源的PostgreSQL版本过低,不适合在本版本上使用.在https://yum.postgresql.org/repopackages.php上找到适合Cent ...
随机推荐
- Java的Lambda表达式
Java的Lambda表达式 1. 什么是Lambda表达式 简单的说,Lambda表达式就是匿名方法.Lambda表达式让程序员能够使用更加简洁的代码,但是同样也使代码的可读性比较差. Lambda ...
- arcgis python xlstoshp
import xlrd # must init xlrd import arcpy # param arcpy.env.workspace = r"F:\note\python\ArcPy& ...
- SQL-W3School-基础:SQL UPDATE 语句
ylbtech-SQL-W3School-基础:SQL UPDATE 语句 1.返回顶部 1. Update 语句 Update 语句用于修改表中的数据. 语法: UPDATE 表名称 SET 列名称 ...
- 跨域form下载方式 批量下载
downloadFileForm:function(fid) { var url = "https://file.xxxx.com/fileDownload.do"; var in ...
- Flutter的布局方法
重点是什么? Widgets 是用于构建UI的类. Widgets 用于布局和UI元素. 通过简单的widget来构建复杂的widget Flutter布局机制的核心就是widget.在Flutter ...
- 什么是sigmoid激活函数?
上面我们讲了引入激活函数的意义,激活函数有多种,下面我们拿一种激活函数sigmoid来做示例,其他的类似.sigmoid函数表达式如下: 它的函数曲线图是: 看到上面的函数曲线图,可以看出是一 ...
- Insomni’hack CTF-l33t-hoster复现分析
题目地址: https://github.com/eboda/insomnihack/tree/master/l33t_hoster 源码如下: <?php if (isset($_GET[&q ...
- thinkPHP5 命名空间别名
命名空间别名 对比 use app\index\model\User; 和 use model\User; 关键:\think\Loader::addNamespaceAlias('model','a ...
- js的new Date兼容iOS和Android
在写一个移动端的报名活动页面时,其中一个逻辑是:过了报名日期,“立即报名”按钮置灰,不允许报名:具体逻辑如下,在真机上测试的时候,Android端可以把按钮失效,iOS则是无法把按钮失效.后台返回的时 ...
- Spring switch的使用
首先在html开始标签中引入一个属性 1 xmlns:th="http://www.thymeleaf.org" 示例代码 <div th:switch="${us ...