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;
 

最新文章

  1. Datatables JQuery插件
  2. 关于AE
  3. iOS - 利用runtime加深对基础知识的理解
  4. ASP.NET SignalR 与 LayIM2.0 配合轻松实现Web聊天室(零) 前言
  5. AJAX-----04XMLHttpRequest对象的ajax
  6. Maven-3.2.2安装配置
  7. POJ 1631 Bridging signals
  8. 对索引像素格式的图片进行Setpixel(具有索引像素格式的图像不支持SetPixel)解决方案
  9. javascript笔记——date以及datetime的比较
  10. JS获取IP、MAC和主机名的几种方法
  11. 如何在cmd窗口启动Tomcat
  12. [HTTP] PHP 实现 HTTP Server 原理
  13. swift Class的内存布局
  14. NLTK的安装
  15. grid - 网格项目层级
  16. 160A
  17. 2015 北京网络赛 E Border Length hihoCoder 1231 树状数组 (2015-11-05 09:30)
  18. EasyUI - DataGrid 去右边空白滚动条列
  19. AWS 推出长期支持的 OpenJDK 免费分发版本 —— Amazon Corretto
  20. Windows ->> Windows下安装MSI程序遇到2503和2502错误

热门文章

  1. servlet多线程安全问题
  2. 笔记四(Competitor Analysis Test小结)
  3. [Java]借助PrintWriter类和StringWriter类,取出异常堆栈信息放入字符串中
  4. IP拨号器
  5. 001-多线程-JUC集合-框架概述
  6. SpringBoot 部署到Linux开机自启动和运行
  7. 详解Pytorch中的网络构造,模型save和load,.pth权重文件解析
  8. 图解 HTTP 笔记(七)——HTTPS
  9. DOTS默认情况下的性能
  10. MySql中的count、NULL和空串的区别