使用華為云鯤鵬彈性云服務器部署PostgreSQL
使用華為云鯤鵬彈性云服務器部署PostgreSQL,默認已經注冊華為云賬號,預裝了CentOS系統的鯤鵬云服務器,安裝、部署、測試PostgreSQL項目。
1. 登錄鯤鵬服務器
2. 安裝PostgreSQL數據庫依賴
3. 配置運行環境
3.1. 授權用戶
3.2. 配置環境變量
3.3. 檢驗配置結果
4. 運行數據庫服務
4.1.初始化數據庫
4.2. 啟動數據庫服務
4.3.檢查啟動結果
5.修改數據庫配置
5.1.設置數據庫密碼
5.3.修改訪問地址控制設置
5.4.開放安全組(5432)端口
6. 訪問數據庫服務
1. 登錄鯤鵬服務器
選擇控制臺,點擊“服務列表”->“計算”->“彈性云服務器ECS”進入服務器列表,在此可查看或復制云服務器的公網IP【EIP】。
①打開Terminal,輸入以下命令登錄云服務器;
②接受秘鑰輸入“yes”,回車;
③輸入密碼:使用預置環境信息中云服務器名稱為ecs-postgresql的用戶密碼(輸入密碼時,命令行窗口不會顯示密碼,輸完之后直接鍵入回車)。成功登錄云服務器之后如下圖所示:
2. 安裝PostgreSQL數據庫依賴
什么是PostgreSQL數據庫?PostgreSQL是一種特性非常齊全的自由軟件的對象-關系型數據庫管理系統(ORDBMS)。PostgreSQL支持大部分的SQL標準并且提供了很多其他現代特性,如復雜查詢、外鍵、觸發器、視圖、事務完整性、多版本并發控制等。同樣,PostgreSQL也可以用許多方法擴展,例如通過增加新的數據類型、函數、操作符、聚集函數、索引方法、過程語言等。另外,因為許可證的靈活,任何人都可以以任何目的免費使用、修改和分發PostgreSQL。
在終端輸入下列命令
yum -y install readline-devel zlib-devel gcc gcc-c++ zlib readline
解壓壓縮文件,運行指令如下:
tar -zxvf postgresql-10.3.tar.gz -C /opt/
進入解壓縮的PostgreSQL數據庫目錄,指令如下:
cd /opt/postgresql-*/
配置編譯安裝環境:(說明:–build指明編譯環境,–host指明運行環境,–prefix指明安裝路徑)
開始編譯安裝,指令如下:
make && make install && make clean
等待大約5分鐘執行成功,如下圖所示,至此PostgreSQL數據庫安裝完畢:
3. 配置運行環境
添加用戶和用戶組 postgres,運行指令如下
adduser postgres
將安裝目錄下的數據授權給postgres用戶:
chown -R postgres:postgres /usr/local/pgsql
執行查看指令:
ls -ld /usr/local/pgsql
結果如下圖所示:
什么是環境變量?環境變量(environment variables)一般是指在操作系統中用來指定操作系統運行環境的一些參數,如:臨時文件夾位置和系統文件夾位置等。環境變量是在操作系統中一個具有特定名字的對象,它包含了一個或者多個應用程序所將使用到的信息。例如Windows和DOS操作系統中的path環境變量,當要求系統運行一個程序而沒有告訴它程序所在的完整路徑時,系統除了在當前目錄下面尋找此程序外,還應到path中指定的路徑去找。用戶通過設置環境變量,來更好的運行進程。
切換到postgres用戶(以后的指令都是在postgres用戶下執行),指令如下:
su postgres
打開文件.bash_profile,
vim ~/.bash_profile
然后按鍵盤的“i”鍵進入編輯模式,在文檔的最后輸入以下內容:
export PGHOME=/usr/local/pgsqlexport PGDATA=/usr/local/pgsql/dataexport PATH=$PATH:$PGHOME/bin
按鍵盤上“Esc”鍵退出編輯模式,輸入保存并退出當前編輯文件指令“:wq”,如圖所示:
回車,結果如下圖:
使配置環境變量生效,這意味著在使用PostgreSQL數據庫相關的指令和路徑時避免輸入全路徑(如:/user/local/pgsql/bin/psql可以直接輸入psql)。指令如下:
source ~/.bash_profile
檢驗環境變量是否配置成功正確:
psql -V
配置成功并生效時會顯示當前安裝的PostgreSQL數據的版本,結果如圖所示:
4. 運行數據庫服務
設置環境變量完成后,直接執行“initdb”即可完成pg數據庫初始化,自動生成對應的相關目錄文件:
initdb
運行結果如圖所示:
創建數據庫日志文件路徑,指令如下
mkdir -p /usr/local/pgsql/log
修改日志文件路徑訪問權限,賦予/usr/local/pgsql/log目錄擁有者可讀可寫可進入的權限,以及其他用戶可讀可進入的權限:
chmod 755 /usr/local/pgsql/log
啟動數據庫,指令如下:
pg_ctl -D $PGDATA -l $PGHOME/log/pg_server.log start
執行結果如下圖所示:
檢查postgres 的進程,指令如下:
ps -ef | grep "postgres"
執行結果如下圖所示:
檢查服務端口(默認5432),指令如下:
netstat -nlp | grep "postgres"
執行結果如下圖所示:
5.修改數據庫配置
修改PostgreSQL數據庫為可遠程訪問,用以提供數據存儲服務。
數據庫登錄指令如
psql
設置postgres 用戶訪問數據庫密碼,指令如下:
password postgres
按回車鍵后出現為數據庫用戶“postgres”設置密碼的區域(輸入密碼時,命令行窗口不會顯示密碼。密碼自定義,如OMnwaaqZak1ka328),輸完之后直接回車,根據提示再次輸入密碼進行確認。密碼設置成功如下圖所示:
####5.2. 修改數據庫配置為遠程訪問
如何在vim下進行快速查找?Linux中使用vim指令進行文檔編輯時,有時想快速找到某一行號或某一個關鍵字,操作如下:1、查找n(n是數字)行的方式,打開文檔后連續按n、shift+g可以快速定位的n行。2、查找關鍵字,打開文檔按“/”,然后輸入要查找的內容(會在終端的左下方顯示輸入內容),最后按回車鍵可以迅速找到指定內容。
打開配置文件“postgresql.conf”,指令如下
vim /usr/local/pgsql/data/postgresql.conf
然后連續按5、9、shift+G鍵找到59行【#listen_addresses=‘localhost’】,再按“i”鍵進入編輯模式,修改數據庫服務監聽范圍。將listen_addresses 的值由“localhost”替換為任意地址“”號,并取消注釋開頭的“#”號,即最終為【listen_addresses=’’】。按鍵盤的“Esc”鍵退出編輯模式,輸入保存并退出當前文檔編輯的指令“:wq”,如圖所示:
打開配置文件“data/pg_hba.conf”,指令如下:
vim /usr/local/pgsql/data/pg_hba.conf
然后連續按8、5、shift+G鍵找到85行【# IPv4 local connections:#】,再按鍵盤的“i”鍵進入編輯模式,在86行下方新增一行:
host all all 0.0.0.0/0 md5
說明:0.0.0.0/0表示運行任意ip地址訪問。修改配置文件“data/pg_hba.conf”中的訪問地址控制的設置,允許訪問數據庫服務的IP地址。確認無誤(各段需按鍵盤“Tab”鍵縮進與上方各段對應整齊)后按鍵盤“Esc”鍵退出編輯模式,然后輸入保存并退出當前文檔編輯操作的指令“:wq”,如下圖所示:
什么是安全組?安全組是一個邏輯上的分組,為同一個VPC內具有相同安全保護需求并相互信任的彈性云服務器提供訪問策略。安全組創建后,用戶可以在安全組中定義各種訪問規則,當彈性云服務器加入該安全組后,即受到這些訪問規則的保護。系統會為每個用戶默認創建一個默認安全組,默認安全組的規則是在出方向上的數據報文全部放行,入方向訪問受限,安全組內的彈性云服務器無需添加規則即可互相訪問.
依次選擇“控制臺”->“服務列表”->“網絡”->“虛擬私有云VPC”,進入“網絡控制臺”,點擊左側“訪問控制”->“安全組”,查看安全組列表,如圖所示:
選擇當前服務器所在的安全組,點擊進入,選擇“入方向規則”->“添加規則”,彈出的“添加入方向規則”表單中,填寫配置參數如下:協議端口:自定義TCP,5432;源地址:IP地址 0.0.0.0/0;描述:隨意輸入規則說明,點擊“確定”。
6. 訪問數據庫服務
利用telnet遠程訪問PostgreSQL服務。
####6.1. 檢測數據庫服務
重啟PostgreSQL數據庫服務,指令如下
pg_ctl restart
退出當前用戶登錄,指令如下:
exit
安裝telnet,指令如下:
yum install telnet -y
檢測數據庫服務,指令如下:將EIP替換為同2.1步驟中的云服務器的彈性公網IP地址
telnet EIP 5432
訪問成功如下圖所示:
PostgreSQL 數據庫
版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發現本站中有涉嫌抄襲或描述失實的內容,請聯系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。
版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發現本站中有涉嫌抄襲或描述失實的內容,請聯系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。