实践教程之如何快速使用PolarDB-X

本文涉及的产品
云原生数据库 PolarDB 分布式版,标准版 2核8GB
简介: PolarDB-X 为了方便用户体验,提供了免费的实验环境,您可以在实验环境里体验 PolarDB-X 的安装部署和各种内核特性。除了免费的实验,PolarDB-X 也提供免费的视频课程,手把手教你玩转 PolarDB-X 分布式数据库。本期实验可以让您快速体验PolarDB-X,让你像使用单机MySQL一样使用分布式数据库,直观感受PolarDB-X的MySQL兼容性。

PolarDB-X 为了方便用户体验,提供了免费的实验环境,您可以在实验环境里体验 PolarDB-X 的安装部署和各种内核特性。除了免费的实验,PolarDB-X 也提供免费的视频课程,手把手教你玩转 PolarDB-X 分布式数据库。

本期实验可以让您快速体验PolarDB-X,让你像使用单机MySQL一样使用分布式数据库,直观感受PolarDB-X的MySQL兼容性。

本期免费实验地址

本期教学视频地址

1.前置准备

假设已经根据前一讲内容完成了PolarDB-X的搭建部署,可以成功链接上PolarDB-X数据库。

PolarDB-X:实践教程之如何快速安装部署PolarDB-X

2. 安装JDK

执行如下命令,使用yum安装JDK 1.8。

yum -y install java-1.8.0-openjdk*

执行如下命令,查看是否安装成功

java -version

返回结果如下,表示您已成功安装JDK 1.8。
20221216115411.jpg

3.体验Spring Boot+PolarDB-X应用开发

执行如下命令,安装Git。

yum -y install git

执行如下命令,下载Spring Boot样例工程。

git clone https://github.com/spring-guides/gs-accessing-data-mysql.git

执行如下命令,进入initial目录。

cd gs-accessing-data-mysql/initial git checkout b8408e3a1e05008811d542b706107d45160556ac

执行如下命令,查看样例工程代码。

ls

创建数据库

1 执行如下命令,登录PolarDB-X数据库。
mysql -h127.0.0.1 -P8527 -upolardbx_root -p123456

2 执行如下SQL语句,创建数据库db_example。
create database db_example;

3 执行如下SQL语句,创建用户springuser。
create user 'springuser'@'%' identified by 'ThePassword';

4 执行如下SQL语句,给用户springuser授权。
grant all on db_example.* to 'springuser'@'%';

5 输入exit退出数据库。

配置application.properties文件,将数据库连接到Spring Boot样例工程。

1 执行如下命令,打开application.properties配置文件。
vim src/main/resources/application.properties

2 按i键进入编辑模式,找到参数spring.datasource.url,并将参数值中的端口号修改为8527。
spring.datasource.url=jdbc:mysql://${
   MYSQL_HOST:localhost}:8527/db_example

3 修改完成后的文件内容如下所示。按下Esc键后,输入:wq后按下Enter键保存并退出。

20221216115713.jpg

创建Entity Model

1 执行如下命令,创建一个User类。

vim src/main/java/com/example/accessingdatamysql/User.java

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;
   }
 }

3 修改完成后的文件内容如下所示。按下Esc键后,输入:wq后按下Enter键保存并退出。
v2-c5e9566fbb1154f1e062b02ae3e2aef7_r.jpg

创建Repository,保存用户记录
1 执行如下命令,创建一个UserRepository类。

vim src/main/java/com/example/accessingdatamysql/UserRepository.java

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> {  }

3 修改完成后的文件内容如下所示。按下Esc键后,输入:wq后按下Enter键保存并退出。

20221216120202.jpg

创建一个Controller类,处理对应用程序的HTTP请求

1 执行如下命令,创建一个MainController类。

vim src/main/java/com/example/accessingdatamysql/MainController.java

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();
   }
 }

3 修改完成后的文件内容如下所示。按下Esc键后,输入:wq后按下Enter键保存并退出。
20221216120342.jpg

创建一个Application
说明 :Spring Boot样例工程中已为您创建好AccessingDataMysqlApplication类,您可跳过此步骤。
1 执行如下命令,创建一个AccessingDataMysqlApplication类。

vim src/main/java/com/example/accessingdatamysql/AccessingDataMysqlApplication.java

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);
   }
  }

3 修改完成后的文件内容如下所示。按下Esc键后,输入:wq后按下Enter键保存并退出。

20221216120434.jpg

运行Spring Boot样例工程
执行如下命令,运行Spring Boot样例工程。

./gradlew bootRun

请您耐心等待大约两分钟,返回结果如下,表示您成功运行。
v2-ef1b8f943cd5e9b52f262ed7aef83bd1_r.jpg

测试
在实验页面,单击右上角的
v2-2f7920e5bb28bdd3cf91df84c349aa03_1440w.png

图标,创建新的终端窗口。
20221216120758.jpg

在新的终端窗口中,执行如下命令,增加一条记录。

curl localhost:8080/demo/add -d name=First -d email=username@example.com

返回结果如下,表示您成功增加一条记录。

20221216120842.jpg

执行如下命令,查询记录。

curl 'localhost:8080/demo/all'

返回结果如下,您可以查询到刚刚增加的记录信息。

20221216120926.jpg

执行如下命令,登录PolarDB-X数据库。

mysql -h127.0.0.1 -P8527 -upolardbx_root -p123456

执行如下SQL语句,使用数据库。

use db_example;

执行如下SQL语句,查询user表。

select * from user;

返回如下结果,您可以在user表查询到刚刚增加的记录。

20221216121046.jpg

输入exit退出数据库。

4.体验WordPress+PolarDB-X部署博客站点

本步骤将指导您如何使用Wordpress的Docker镜像和PolarDB-X搭建一个博客站点。Wordpress提供了Docker镜像,方便其快速安装,详情请参见WordPress的Docker Hub主页。

安装WordPress

执行如下命令,安装WordPress。

docker run --name some-wordpress -p 9090:80 -d wordpress

创建WordPress的数据库。

1 执行如下命令,登录PolarDB-X数据库。
mysql -h127.0.0.1 -P8527 -upolardbx_root -p123456

2 执行如下SQL语句,创建数据库wordpress。
create database wordpress MODE='AUTO';

3 输入exit退出数据库。

配置WordPress
在您的本机浏览器中,打开新页签,访问http://:9090。

在初始化页面,选择简体中文,单击继续。
v2-9b97da4c743d5829293b8706a47b63b7_1440w.jpg

在准备页面,单击现在就开始。
20221216121329.jpg

在数据库配置页面,参考说明配置数据库信息,单击提交。

参数说明:

数据库名:默认为wordpress。
用户名:输入polardbxroot。
密码:输入123456。
数据库主机:输入:8527。您需要将替换为云产品资源列表中的ECS的弹性IP。
表前缀:默认为wp

20221216121411.jpg
在数据库配置完成页面,单击运行安装程序。
20221216121456.jpg
在信息配置页面,参考说明配置相关信息,单击安装WordPress。

参数说明:

站点标题:输入站点标题,例如myblog。
用户名:输入用户名,例如admin。
密码:输入密码。
您的电子邮箱地址:输入邮箱地址。建议使用真实有效的邮箱地址,若没有,可以填写虚拟邮箱地址,但将无法接收信息,例如username@example.com。
20221216121541.jpg
在成功页面,单击登录。
20221216121616.jpg

在登录页面,依次输入您的用户名和密码,单击登录。
20221216121656.jpg

相关实践学习
快速体验PolarDB开源数据库
本实验环境已内置PostgreSQL数据库以及PolarDB开源数据库:PolarDB PostgreSQL版和PolarDB分布式版,支持一键拉起使用,方便各位开发者学习使用。
相关文章
|
3月前
|
存储 SQL 安全
应用案例|开源 PolarDB-X 在互联网安全场景的应用实践
中盾集团采用PolarDB-X云原生分布式数据库开源版本,有效解决了大数据量处理、复杂查询以及历史数据维护等难题,实现了业务的高效扩展与优化。
|
4月前
|
存储 Cloud Native 关系型数据库
PolarDB 高可用架构设计与实践
【8月更文第27天】 在现代互联网应用中,数据库作为核心的数据存储层,其稳定性和可靠性尤为重要。阿里云的 PolarDB 作为一款云原生的关系型数据库服务,提供了高可用、高性能和自动化的特性,适用于各种规模的应用。本文将详细介绍 PolarDB 的高可用架构设计,并探讨其实现数据安全性和业务连续性的关键技术。
115 0
|
13天前
|
SQL 人工智能 自然语言处理
PolarDB-PG AI最佳实践 1:基础能力实践
Polar_AI 是 PolarDB 数据库的 AI 扩展,集成了先进的人工智能模型和算法,使数据库能够执行机器学习和自然语言处理任务。它支持 PostgreSQL 及 Oracle 兼容版本,通过标准 SQL 轻松调用 AI 模型,具备简单易用、灵活可定制、无缝数据融合、数据安全和高性能等优势。用户可以通过 SQL 快速实现文本转向量、情感分类等功能,并能自定义扩展 AI 模型。
|
26天前
|
关系型数据库 Linux 分布式数据库
rpm安装polarDB-PG的实践
安装PolarDB for PostgreSQL的实践,需要帮助到有同样需要的小伙伴
|
1月前
|
NoSQL Cloud Native atlas
探索云原生数据库:MongoDB Atlas 的实践与思考
【10月更文挑战第21天】本文探讨了MongoDB Atlas的核心特性、实践应用及对云原生数据库未来的思考。MongoDB Atlas作为MongoDB的云原生版本,提供全球分布式、完全托管、弹性伸缩和安全合规等优势,支持快速部署、数据全球化、自动化运维和灵活定价。文章还讨论了云原生数据库的未来趋势,如架构灵活性、智能化运维和混合云支持,并分享了实施MongoDB Atlas的最佳实践。
|
2月前
|
NoSQL Cloud Native atlas
探索云原生数据库:MongoDB Atlas 的实践与思考
【10月更文挑战第20天】本文探讨了MongoDB Atlas的核心特性、实践应用及对未来云原生数据库的思考。MongoDB Atlas作为云原生数据库服务,具备全球分布、完全托管、弹性伸缩和安全合规等优势,支持快速部署、数据全球化、自动化运维和灵活定价。文章还讨论了实施MongoDB Atlas的最佳实践和职业心得,展望了云原生数据库的发展趋势。
|
7月前
|
监控 关系型数据库 分布式数据库
【PolarDB 开源】PolarDB HTAP 实践:混合事务与分析处理的性能优化策略
【5月更文挑战第21天】PolarDB开源后在HTAP领域表现出色,允许在同一系统处理事务和分析工作负载,提高数据实时性。通过资源分配、数据分区、索引优化等策略提升性能。示例代码展示了创建和查询事务及分析表的基本操作。PolarDB还提供监控工具,帮助企业优化系统并应对业务变化。其HTAP能力为开发者和企业提供了强大支持,推动技术进步,加速数字化时代的业务发展。
445 1
|
5月前
|
存储 关系型数据库 MySQL
深度评测:PolarDB-X 开源分布式数据库的优势与实践
本文对阿里云开源分布式数据库 PolarDB-X 进行了详细评测。PolarDB-X 以其高性能、强可用性和出色的扩展能力在云原生数据库市场中脱颖而出。文章首先介绍了 PolarDB-X 的核心产品优势,包括金融级高可靠性、海量数据处理能力和高效的混合负载处理能力。随后,分析了其分布式架构设计,包括计算节点、存储节点、元数据服务和日志节点的功能分工。评测还涵盖了在 Windows 平台通过 WSL 环境部署 PolarDB-X 的过程,强调了环境准备和工具安装的关键步骤。使用体验方面,PolarDB-X 在处理分布式事务和实时分析时表现稳定,但在网络问题和性能瓶颈上仍需优化。最后,提出了改进建
7060 2
|
5月前
|
关系型数据库 分布式数据库 数据库
基于PolarDB的图分析:保险数据分析实践
本文以公开的保险数据集为例,示例了基于云原生数据库PolarDB上,在保险理赔场景下,执行图查询来发现异常理赔记录和欺诈团伙:例如,查询与欺诈保单有相同理赔病人的其他保单,或者找出欺诈保单的投保人社交关系,以便进行欺诈预警。PolarDB在关系型数据库的基础上,提供了图分析能力,为企业的统一数据管理和分析,提供了强有力的支撑。
|
5月前
|
存储 关系型数据库 数据库
关系型数据库设计范式:深入理解与实践
【7月更文挑战第20天】关系型数据库设计范式是数据库设计中的重要指导原则,它通过一系列规范来减少数据冗余、提高数据一致性和优化查询性能。在实际应用中,我们应该根据具体需求和数据特点,灵活选择和应用不同的范式级别,以构建高效、可靠和可扩展的数据库系统。同时,也需要注意范式设计带来的挑战和限制,根据实际情况进行权衡和调整。

相关产品

  • 云原生分布式数据库 PolarDB-X