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;
 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM