2020.9.26 Day4
背景知識
一、PolarDB資料庫簡介
是阿裡雲自研的下一代關系型雲資料庫,有三個獨立的引擎,分别可以100%相容MySQL、100%相容PostgreSQL、高度相容Oracle文法,存儲容量最高可達100TB,單庫最多可擴充到16個節點,适用于企業多樣化的資料庫應用場景。
PolarDB采用存儲和計算分離的架構,所有計算節點共享一份資料,提供分鐘級的配置升降級、秒級的故障恢複、全局資料一緻性和免費的資料備份容災服務。PolarDB既融合了商業資料庫穩定可靠、高性能、可擴充的特征,又具有開源雲資料庫簡單開放、自我疊代的優勢,例如PolarDB MySQL性能最高可以提升至MySQL的6倍,而成本隻有商用資料庫的1/10。叢集架構,計算與存儲分離。
(1)叢集架構,計算與存儲分離。
PolarDB采用多節點叢集的架構,叢集中有一個Writer節點(主節點)和多個Reader節點(讀節點),各節點通過分布式檔案系統(PolarFileSystem)共享底層的存儲(PolarStore)。
(2)讀寫分離。
當應用程式使用叢集位址時,PolarDB MySQL/PostgreSQL通過内部的代理層(Proxy)對外提供服務,應用程式的請求都先經過代理,然後才通路到資料庫節點。代理層不僅可以做安全認證和保護,還可以解析SQL,把寫操作(例如事務、UPDATE、INSERT、DELETE、DDL等)發送到主節點,把讀操作(例如SELECT)均衡地分發到多個隻讀節點,實作自動的讀寫分離。對于應用程式來說,就像使用一個單點的MySQL資料庫一樣簡單。内部的代理層(Proxy)後續将支援PolarDB相容Oracle文法引擎。
産品優勢
您可以像使用MySQL、PostgreSQL、Oracle一樣使用PolarDB,此外,PolarDB還有傳統資料庫不具備的優勢:
(1)容量大。
最高100TB,您不再需要因為單機容量的天花闆而去購買多個執行個體做分片,由此簡化應用開發,降低運維負擔。
(2)高成本效益。
PolarDB的計算與存儲分離,每增加一個隻讀節點隻收取計算資源的費用,而傳統的隻讀節點同時包含計算和存儲資源,每增加一個隻讀節點需要支付相應的存儲費用。
PolarDB的存儲空間無需手動配置,根據資料量自動伸縮,您隻需為實際使用的資料量按小時付費。
為了更好地幫助您降低存儲成本,PolarDB推出了預付費形式的存儲包。當您的資料量較大時,推薦您使用PolarDB存儲包,相比按小時付費,預付費購買存儲包有折扣,購買的容量越大,折扣力度就越大。
(3)分鐘級彈性。
存儲與計算分離的架構,配合共享存儲,使得快速更新成為現實。
(4)讀一緻性。
叢集位址利用LSN(Log Sequence Number)確定讀取資料時的全局一緻性,避免因為主備延遲引起的不一緻。
(5)毫秒級延遲(實體複制)。
利用基于Redo的實體複制代替基于Binlog的邏輯複制,提升主備複制的效率和穩定性。即使對大表進行加索引、加字段等DDL操作,也不會造成資料庫的延遲。
(6)無鎖備份。
利用存儲層的快照,可以在60秒内完成對2TB資料量大小的資料庫的備份,而且備份過程不會對資料庫加鎖,對應用程式幾乎無影響,全天24小時均可進行備份。
步驟如下:
一、建立資源
1.在頁面左側,單擊 雲産品資源 下拉菜單,檢視本次實驗資源。
2.單擊 免費開通 建立所需資源。
資源建立過程需要1~3分鐘。完成實驗資源的建立後,您可以在 雲産品資源 清單檢視已建立的資源資訊,例如:IP位址、使用者名和密碼等。
二、 建立PolarDB資料庫賬号
1.單擊頁面左側 雲産品資源 > 一鍵複制登入url 。
2.打開浏覽器隐身視窗(無痕模式),粘貼已複制的url位址前往 RAM使用者登入 界面,登入 阿裡雲管理控制台 。
以Chrome浏覽器為例,打開新的無痕視窗,登入 阿裡雲管理控制台 。
a. 依次單擊更多>打開新的無痕視窗。
- 在位址欄粘貼登入url,通路 RAM使用者 登入頁面
c. 在登入使用者名稱處,輸入 子使用者名稱 ,單擊 下一步 。
- 輸入密碼,單擊 登入 進入 阿裡雲管理控制台 。
3.在 阿裡雲控制台首頁 左側導航欄,依次單擊 産品與服務 > 雲資料庫PolarDB ,進入 雲資料庫PolarDB管理控制台 。
4.單擊左側 叢集清單 ,然後選擇雲産品資源提供的地域。例如:華東2(上海)。
5.建立資料庫賬号。
a. 在 叢集清單 頁面,單擊 叢集ID ,進入 叢集詳情界面 。
- 單擊左側導航欄 配置與管理 > 賬号管理 。
- 單擊左上方 建立賬号 。
- 參考說明配置賬号資訊,然後單擊 确定 。
資料庫賬号:輸入資料庫賬号名稱,例如:test_user 。
賬号類型:此處選擇普通賬号。
密碼:設定賬号密碼,例如:Password1213。
确認密碼:再次輸入密碼。
6.建立資料庫。
- 在執行個體詳情頁,單擊左側導航欄的 資料庫管理 ,然後單擊 建立資料庫 。
- 參考說明配置資料庫資訊,然後單擊 建立 。
資料庫(DB)名稱:輸入資料庫名稱,例如:pbootcms 。
支援字元集:預設設為utf8mb4。
授權賬号:選擇上一步建立的資料庫賬号test_user。
賬号類型:預設設定為讀寫。
備注說明:非必填。用于備注該資料庫的相關資訊,便于後續資料庫管理,最多支援256個字元。
7.設定資料庫白名單。
連接配接資料庫需要設定資料庫白名單,點選 [叢集白名單],然後點選 [設定] 設定資料庫叢集白名單。
在白名單界面将預設的白名單位址127.0.0.1更改為 0.0.0.0/0,然後點選 [确定] 使白名單位址生效。
三、 連接配接ECS伺服器
1.打開終端工具。
Windows:打開指令視窗。
MAC:打開指令行終端Terminal。
Windows使用者請檢查系統中是否安裝有SSH工具。檢查方法:
在終端中輸入指令 ssh -V 。
ssh -V
如果顯示SSH版本則表示已安裝,如下圖所示。
如果未安裝,請下載下傳安裝 OpenSSH工具。
2.在終端中輸入連接配接指令 ssh [username]@[ipaddress] 。
您需要将其中的username和ipaddress替換為步驟一中建立的ECS伺服器的彈性公網IP。例如:
3.輸入 yes。
4.同意繼續後将會提示輸入登入密碼。 密碼為已建立的雲服務的ECS的登入密碼。
登入成功後會顯示如下資訊。
四、安裝LAMP環境
LAMP是指運作在Linux下的Apache、MySQL和PHP的環境。參考以下操作在雲伺服器上安裝開發環境。
1.在ECS伺服器上,執行以下指令安裝Apache服務及其擴充包。
yum -y install httpd httpd-manual mod_ssl mod_perl mod_auth_mysql
傳回類似如下圖結果則表示安裝成功。
2.PbootCMS是使用PHP語言開發的CMS系統。參考以下操作安裝PHP環境。
執行以下指令,安裝PHP。
yum -y install php php-mysql gd php-gd gd-devel php-xml php-common php-mbstring php-ldap php-pear php-xmlrpc php-imap
- 執行以下指令下載下傳并安裝MySQL。
- http://dev.mysql.com/get/mysql57-community-release-el7-10.noarch.rpm
yum -y install mysql57-community-release-el7-10.noarch.rpm
yum -y install mysql-community-server
- 執行以下指令啟動MySQL資料庫。
systemctl start mysqld
五、搭建門戶網站
在完成環境部署後,參考以下操作搭建門戶網站。
1.在ECS伺服器上,執行以下指令,安裝Git。
yum -y install git
2.在ECS伺服器上,執行以下指令下載下傳PbootCMS源碼檔案。
cd ~ && git clone
https://gitee.com/hnaoyun/PbootCMS.git3.執行以下指令将安裝包拷貝到Apache的wwwroot目錄下。
cp -r PbootCMS/* /var/www/html/
4.執行以下指令修改站點根目錄檔案權限。
chmod -R a+w /var/www/html
5.向資料庫中導入CMS的初始資料。
執行以下指令初始化資料庫pbootcms的表結構和資料。
說明: 在執行指令前,請修改一下三個參數。
資料庫連接配接位址參見叢集詳情頁面下方連結位址闆塊。
test_user為步驟二中建立的資料庫賬号。
Password1213步驟二中建立的資料庫密碼。
sql_file="/var/www/html/static/backup/sql/"$(ls /var/www/html/static/backup/sql/) &&
mysql -h資料庫連接配接位址 -utest_user -pPassword1213 -Dpbootcms < $sql_file
5.執行以下指令,修改CMS系統資料庫配置。
說明: 在執行指令前,請根據參數說明替換您的資料庫配置。
cat > /var/www/html/config/database.php << EOF
<?php
return array(
'database' => array(
'type' => 'mysqli', // 資料庫連接配接驅動類型: mysqli,sqlite,pdo_mysql,pdo_sqlite
'host' => '資料庫連接配接位址', // PolarDB資料庫連結位址
'user' => 'test_user', // PolarDB資料庫的使用者名
'passwd' => 'Password1213', // PolarDB資料庫的密碼
'port' => '3306', // 資料庫端口
'dbname' => 'pbootcms' //資料庫名稱
)
);
EOF
6.傳回ECS控制台,在ECS執行個體清單頁面,單擊已建立的ECS執行個體ID連結進入ECS詳情頁。
7.在左側導航欄,單擊 本執行個體安全組 ,然後單擊安全組的ID連結檢視安全組配置。
確定安全組開放了80端口通路,否則無法通路已搭建的門戶網站。安全組是一種虛拟防火牆,具備狀态檢測和資料包過濾能力,用于在雲端劃分安全域。通過配置安全組規則,您可以控制安全組内一台或多台ECS執行個體的入流量和出流量。
8.通路程式。
執行以下指令重新開機 Apache服務。
systemctl restart httpd
在浏覽器位址欄輸入雲伺服器的公網IP位址,進入門戶網站首頁。
系統背景預設通路路徑為
http://公網IP位址>/admin.php。預設賬号為admin,密碼為123456。至此您已完成門戶網站的搭建,您可以根據公司的需求自定義門戶網站的内容。