乐趣区

关于数据库:阿里云有奖体验如何使用-PolarDBX

体验简介

场景将提供一台配置了 CentOS 8.5 操作系统的 ECS 实例(云服务器)。通过本教程的操作,以 Spring 和 WordPress 官网教程为例,带你体验 Spring Boot+PolarDB- X 和 WordPress+PolarDB- X 的利用开发之旅。点击返回

试验筹备

1. 创立试验资源

开始试验之前,您须要先创立 ECS 实例资源。

  1. 在实验室页面,单击 创立资源
  2. (可选)在实验室页面左侧导航栏中,单击 云产品资源 列表,可查看本次试验资源相干信息(例如 IP 地址、用户信息等)。

阐明:资源创立过程须要 1~3 分钟。

2. 装置 PolarDB-X

本步骤将领导您如何装置 PolarDB-X。

  1. 装置并启动 Docekr。

1) 执行如下命令,装置 Docker。

curl -fsSL https://get.docker.com | 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 https://github.com/spring-guides/gs-accessing-data-mysql.git

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 在试验页面,单击右上角的 图标,创立新的终端窗口。

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 在您的本机浏览器中,关上新页签,拜访 http://<ECS 的弹性 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。

祝贺实现

退出移动版