• 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;
  • 相关阅读:
    关于烂代码的那些事(中)
    关于烂代码的那些事(上)
    关于烂代码的那些事(上)
    Maven学习总结(14)——Maven 多模块项目如何分工?
    Maven学习总结(14)——Maven 多模块项目如何分工?
    优秀Java程序员必备10招
    优秀Java程序员必备10招
    SSO单点登录学习总结(3)—— 基于CAS实现单点登录实例
    SSO单点登录学习总结(3)—— 基于CAS实现单点登录实例
    SSO单点登录学习总结(2)——基于Cookie+fliter单点登录实例
  • 原文地址:https://www.cnblogs.com/b02330224/p/13328539.html
Copyright © 2020-2023  润新知