阿里雲有獎體驗:如何使用 PolarDB-X
### **體驗簡介**
場景將提供一臺配置了CentOS 8.5作業系統的ECS例項(雲伺服器)。透過本教程的操作,以Spring和WordPress官方教程為例,帶你體驗Spring Boot+PolarDB-X和WordPress+PolarDB-X的應用開發之旅。[點選前往](https://developer.aliyun.com/adc/scenario/6e7827274b004c7b9fad58ecf5404c6c)![]()
### 實驗準備
1\. 建立實驗資源
開始實驗之前,您需要先建立ECS例項資源。
1. 在實驗室頁面,單擊 **建立資源** 。
2. (可選)在實驗室頁面左側導航欄中,單擊 **雲產品資源** 列表,可檢視本次實驗資源相關資訊(例如IP地址、使用者資訊等)。
**說明**:資源建立過程需要1~3分鐘。
2\. 安裝PolarDB-X
本步驟將指導您如何安裝PolarDB-X。
1. 安裝並啟動Docekr。
1) 執行如下命令,安裝Docker。
```
curl -fsSL | bash -s docker --mirror Aliyun
```
2) 執行如下命令,啟動Docker。
```
systemctl start docker
```
1. 執行如下命令,安裝PolarDB-X。
```
docker run -d --name some-polardb-x -p 8527:8527 polardbx/polardb-x:2.1.0
```
3\. 登入PolarDB-X資料庫
本步驟將指導您如何登入PolarDB-X資料庫。
PolarDB-X支援透過MySQL Client命令列、第三方客戶端以及符合MySQL互動協議的第三方程式程式碼進行連線。本實驗場景主要介紹如何透過MySQL Client命令列連線到PolarDB-X資料庫。
1. 執行如下命令,安裝MySQL。
```
yum install mysql -y
```
1. 執行如下命令,檢視MySQL版本號。
```
mysql -V
```
返回結果如下,表示您已成功安裝MySQL。
![]()
1. 執行如下命令,登入PolarDB-X資料庫。
**說明**
- 本實驗場景中的PolarDB-X資料庫使用者名稱和密碼已預設,請您使用下方命令登入即可。
- 如遇到 mysql: \[Warning\] Using a password on the command line interface can be insecure. ERROR 2013 (HY000): Lost connection to MySQL server at 'reading initial communication packet', system error: 0 報錯,請您稍等一分鐘,重新執行登入命令即可。
```
mysql -h127.0.0.1 -P8527 -upolardbx_root -p123456
```
返回結果如下,表示您已成功登入PolarDB-X資料庫。
![]()
4.輸入exit退出資料庫。
![]()
4\. 安裝JDK
本步驟將指導您如何在雲伺服器ECS上安裝JDK。
1. 執行如下命令,使用yum安裝JDK 1.8。
```
yum -y install java-1.8.0-openjdk*
```
1. 執行如下命令,檢視是否安裝成功。
```
java -version
```
返回結果如下,表示您已成功安裝JDK 1.8。
![]()
5\. 體驗Spring Boot+PolarDB-X應用開發
本步驟將指導您如何下載並編輯Spring Boot樣例工程,並連線PolarDB-X資料庫。詳情請參見[Spring Boot官方教程]()。
1. 安裝Git。
執行如下命令,安裝Git。
```
yum -y install git
```
1. 下載Spring Boot樣例工程。
2.1 執行如下命令,下載Spring Boot樣例工程。
```
git clone
```
2.2 執行如下命令,進入initial目錄。
```
cd gs-accessing-data-mysql/initial
git checkout b8408e3a1e05008811d542b706107d45160556ac
```
2.3 執行如下命令,檢視樣例工程程式碼。
```
ls
```
1. 建立資料庫。
3.1 執行如下命令,登入PolarDB-X資料庫。
```
mysql -h127.0.0.1 -P8527 -upolardbx_root -p123456
```
3.2 執行如下SQL語句,建立資料庫db_example。
```
create database db_example;
```
3.3 執行如下SQL語句,建立使用者springuser。
```
create user 'springuser'@'%' identified by 'ThePassword';
```
3.4 執行如下SQL語句,給使用者springuser授權。
```
grant all on db_example.* to 'springuser'@'%';
```
3.5 輸入exit退出資料庫。
![]()
1. 配置application.properties檔案,將資料庫連線到Spring Boot樣例工程。
4.1 執行如下命令,開啟application.properties配置檔案。
```
vim src/main/resources/application.properties
```
4.2 按i鍵進入編輯模式,找到引數spring.datasource.url,並將引數值中的埠號修改為8527。
```
spring.datasource.url=jdbc:mysql://${MYSQL_HOST:localhost}:8527/db_example
```
4.3 修改完成後的檔案內容如下所示。按下Esc鍵後,輸入:wq後按下Enter鍵儲存並退出。
![]()
1. 建立Entity Model。
5.1 執行如下命令,建立一個User類。
```
vim src/main/java/com/example/accessingdatamysql/User.java
```
5.2 將如下程式碼複製貼上到User類中。
```
package com.example.accessingdatamysql;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
@Entity // This tells Hibernate to make a table out of this class
public class User {
@Id
@GeneratedValue(strategy=GenerationType.AUTO)
private Integer id;
private String name;
private String email;
public Integer getId() {
return id;
}
public void setId(Integer id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getEmail() {
return email;
}
public void setEmail(String email) {
this.email = email;
}
}
```
5.3 修改完成後的檔案內容如下所示。按下Esc鍵後,輸入:wq後按下Enter鍵儲存並退出。
![]()
1. 建立Repository,儲存使用者記錄。
6.1 執行如下命令,建立一個UserRepository類。
```
vim src/main/java/com/example/accessingdatamysql/UserRepository.java
```
6.2 將如下程式碼複製貼上到UserRepository類中。
```
package com.example.accessingdatamysql;
import org.springframework.data.repository.CrudRepository;
import com.example.accessingdatamysql.User;
// This will be AUTO IMPLEMENTED by Spring into a Bean called userRepository
// CRUD refers Create, Read, Update, Delete
public interface UserRepository extends CrudRepository<User, Integer> {
}
```
6.3 修改完成後的檔案內容如下所示。按下Esc鍵後,輸入:wq後按下Enter鍵儲存並退出。
![]()
1. 建立一個Controller類,處理對應用程式的HTTP請求。
7.1 執行如下命令,建立一個MainController類。
```
vim src/main/java/com/example/accessingdatamysql/MainController.java
```
7.2 將如下程式碼複製貼上到MainController類中。
```
package com.example.accessingdatamysql;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.ResponseBody;
@Controller // This means that this class is a Controller
@RequestMapping(path="/demo") // This means URL's start with /demo (after Application path)
public class MainController {
@Autowired // This means to get the bean called userRepository
// Which is auto-generated by Spring, we will use it to handle the data
private UserRepository userRepository;
@PostMapping(path="/add") // Map ONLY POST Requests
public @ResponseBody String addNewUser (@RequestParam String name
, @RequestParam String email) {
// @ResponseBody means the returned String is the response, not a view name
// @RequestParam means it is a parameter from the GET or POST request
User n = new User();
n.setName(name);
n.setEmail(email);
userRepository.save(n);
return "Saved";
}
@GetMapping(path="/all")
public @ResponseBody Iterable<User> getAllUsers() {
// This returns a JSON or XML with the users
return userRepository.findAll();
}
}
```
7.3 修改完成後的檔案內容如下所示。按下Esc鍵後,輸入:wq後按下Enter鍵儲存並退出。
![]()
1. 建立一個Application。
**說明 :**Spring Boot樣例工程中已為您建立好AccessingDataMysqlApplication類,您可跳過此步驟。
8.1 執行如下命令,建立一個AccessingDataMysqlApplication類。
```
vim src/main/java/com/example/accessingdatamysql/AccessingDataMysqlApplication.java
```
8.2 按i鍵進入編輯模式,將如下程式碼複製貼上到User類中。
```
package com.example.accessingdatamysql;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
@SpringBootApplication
public class AccessingDataMysqlApplication {
public static void main(String[] args) {
SpringApplication.run(AccessingDataMysqlApplication.class, args);
}
}
```
8.3 修改完成後的檔案內容如下所示。按下Esc鍵後,輸入:wq後按下Enter鍵儲存並退出。
![]()
1. 執行Spring Boot樣例工程。
執行如下命令,執行Spring Boot樣例工程。
```
./gradlew bootRun
```
請您耐心等待大約兩分鐘,返回結果如下,表示您成功執行。
![]()
1. 測試。
10.1 在實驗頁面,單擊右上角的![](https://ucc.alicdn.com/pic/developer-ecology/18cb282bc9b34e48bc8c0d84918f9bec.png)圖示,建立新的終端視窗。
![]()
10.2 在新的終端視窗中,執行如下命令,增加一條記錄。
```
curl localhost:8080/demo/add -d name=First -d email=username@example.com
```
返回結果如下,表示您成功增加一條記錄。
![]()
10.3 執行如下命令,查詢記錄。
```
curl 'localhost:8080/demo/all'
```
返回結果如下,您可以查詢到剛剛增加的記錄資訊。
![]()
10.4 執行如下命令,登入PolarDB-X資料庫。
```
mysql -h127.0.0.1 -P8527 -upolardbx_root -p123456
```
10.5 執行如下SQL語句,使用資料庫。
```
use db_example;
```
10.6 執行如下SQL語句,查詢user表。
```
select * from user;
```
返回如下結果,您可以在user表查詢到剛剛增加的記錄。
![]()
10.7 輸入exit退出資料庫。
![]()
6\. (選做)體驗WordPress+PolarDB-X部
署部落格站點
本步驟將指導您如何使用Wordpress的Docker映象和PolarDB-X搭建一個部落格站點。Wordpress提供了Docker映象,方便其快速安裝,詳情請參見[WordPress的Docker Hub主頁]()。
1. 安裝WordPress。
1.1 在實驗頁面,切換至第一個終端視窗。按Ctrl+C鍵,停止執行Spring Boot樣例工程。
1.2 執行如下命令,安裝WordPress。
```
docker run --name some-wordpress -p 9090:80 -d wordpress
```
1. 建立WordPress的資料庫。
2.1 執行如下命令,登入PolarDB-X資料庫。
```
mysql -h127.0.0.1 -P8527 -upolardbx_root -p123456
```
2.2 執行如下SQL語句,建立資料庫wordpress。
```
create database wordpress MODE='AUTO';
```
2.3 輸入exit退出資料庫。
![]()
1. 配置WordPress。
3.1 在您的本機瀏覽器中,開啟新頁籤,訪問的彈性IP>:9090。
**說明**:您需要將<ECS的彈性IP>替換為雲產品資源列表中的ECS的彈性IP。
3.2 在初始化頁面,選擇**簡體中文**,單擊**繼續**。
![]()
3.3 在準備頁面,單擊**現在就開始**。
![]()
3.4 在資料庫配置頁面,參考說明配置資料庫資訊,單擊**提交**。
引數說明:
- **資料庫名** :預設為 wordpress 。
- **使用者名稱** :輸入 polardbx_root 。
- **密碼** :輸入 123456 。
- **資料庫主機** :輸入 <ECS的彈性IP>:8527 。您需要將 <ECS的彈性IP> 替換為雲產品資源列表中的ECS的彈性IP。
- **表字首** :預設為 wp_ 。
![]()
3.5 在資料庫配置完成頁面,單擊**執行安裝程式**。
![]()
3.6 在資訊配置頁面,參考說明配置相關資訊,單擊安裝WordPress。
引數說明:
- **站點標題** :輸入站點標題,例如 myblog 。
- **使用者名稱** :輸入使用者名稱,例如 admin 。
- **密碼** :輸入密碼。
- **您的電子郵箱地址** :輸入郵箱地址。建議使用真實有效的郵箱地址,若沒有,可以填寫虛擬郵箱地址,但將無法接收資訊,例如 username@example.com 。
![]()
3.7 在成功頁面,單擊**登入**。
![]()
3.8 在登入頁面,依次輸入您的**使用者名稱**和**密碼**,單擊**登入**。
![]()
7\. 瞭解更多
- 如果您想了解更多有關分散式資料庫連線池的最佳實踐,詳情請參見 [如何選擇應用端連結池]() 。
- 如果您想下載PolarDB-X原始碼,詳情請參見 [PolarDB-X原始碼]() 。
- 關於PolarDB-X說明文件,詳情請參見 [PolarDB-X說明文件]() 。
- 如果您對PolarDB-X內部實現原理感興趣,可關注我們的知乎官號 [PolarDB-X]() 。
恭喜完成
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69975905/viewspace-2903919/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 阿里雲體驗有獎:如何一鍵安裝部署PolarDB-X阿里
- 阿里雲體驗有獎:如何將 PolarDB-X 與大資料等系統互通阿里大資料
- 阿里雲有獎體驗:塊儲存快速入門阿里
- 阿里雲618有獎體驗:使用PolarDB和ECS搭建入口網站阿里網站
- 阿里雲有獎體驗:如何通過ECS掛載NAS檔案系統阿里
- 阿里雲618有獎體驗:搭建基於OSS的圖片分享網站阿里網站
- 阿里雲體驗有禮:使用RDS和ECS搭建個人部落格阿里
- 阿里雲體驗實驗室 教你如何《搭建Hadoop環境》阿里Hadoop
- 阿里雲體驗實驗室 教你如何《快速搭建LNMP環境》阿里LNMP
- 阿里雲PolarDB-X資料庫透過分散式資料庫金融標準驗證阿里資料庫分散式
- 如何使用阿里雲映象加速阿里
- 阿里雲開發者工具上手體驗阿里
- 在阿里雲建網站體驗123阿里網站
- 阿里雲體驗實驗室 體驗教程《Linux指令入門-系統管理》阿里Linux
- 阿貝雲使用體驗
- 阿里雲伺服器如何使用阿里伺服器
- 如何使用阿里雲管理控制檯阿里
- 《搭建個人Leanote雲筆記本》阿里雲體驗實驗室 教程筆記阿里
- 阿里雲影片雲 Retina 多媒體 AI 體驗館開張啦!阿里AI
- 阿里雲體驗實驗室 教你《快速搭建Docker環境》阿里Docker
- 阿里雲體驗實驗室教程《快速搭建LAMP環境》阿里LAMP
- 阿里雲黃貴:PolarDB-X:雲原生時代資料庫的新可能性阿里資料庫
- 阿里雲Kubernetes服務上使用Tekton完成應用釋出初體驗阿里
- 阿里雲開發者社群有獎徵文活動,期待您出文相助阿里
- 阿里雲視訊雲 Retina 多媒體 AI 體驗館開張啦!阿里AI
- 雲原生 Serverless Database 使用體驗ServerDatabase
- 阿里雲伺服器使用後感想!如何領取及使用阿里雲代金券阿里伺服器
- 阿里雲體驗實驗室 教程《搭建Java Web開發環境》阿里JavaWeb開發環境
- PolarDB-X 2.0:使用一個透明的分散式資料庫是一種什麼體驗分散式資料庫
- 極致體驗!基於阿里雲 Serverless 快速部署 Function阿里ServerFunction
- 春色滿園關不住,帶你體驗阿里雲 Knative阿里
- 速來!體驗阿里通義靈碼,抽AI盲盒贏大獎,100%中獎,永不落空~阿里AI
- 圖解連線阿里雲(一)建立阿里雲物聯網平臺產品和裝置,使用MQTT.fx快速體驗圖解阿里MQQT
- 【有獎評測局】阿里雲容器映象 ACR 測評團限時招募中!阿里
- Linux教程《Linux指令入門-文字處理》-阿里雲體驗實驗室Linux阿里
- 資料庫上雲教程(體驗有禮)資料庫
- 如何提升使用者體驗
- 阿里雲 Serverless 再升級,從體驗上拉開差距阿里Server