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;