体验简介
场景将提供一台配置了CentOS 8.5操作系统的ECS实例(云服务器)。通过本教程的操作,以Spring和WordPress官网教程为例,带你体验Spring Boot+PolarDB-X和WordPress+PolarDB-X的利用开发之旅。点击返回
试验筹备
1. 创立试验资源
开始试验之前,您须要先创立ECS实例资源。
- 在实验室页面,单击 创立资源 。
- (可选)在实验室页面左侧导航栏中,单击 云产品资源 列表,可查看本次试验资源相干信息(例如IP地址、用户信息等)。
阐明:资源创立过程须要1~3分钟。
2. 装置PolarDB-X
本步骤将领导您如何装置PolarDB-X。
- 装置并启动Docekr。
1) 执行如下命令,装置Docker。
curl -fsSL https://get.docker.com | bash -s docker --mirror Aliyun
2) 执行如下命令,启动Docker。
systemctl start docker
- 执行如下命令,装置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数据库。
- 执行如下命令,装置MySQL。
yum install mysql -y
- 执行如下命令,查看MySQL版本号。
mysql -V
返回后果如下,示意您已胜利装置MySQL。
- 执行如下命令,登录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。
- 执行如下命令,应用yum装置JDK 1.8。
yum -y install java-1.8.0-openjdk*
- 执行如下命令,查看是否装置胜利。
java -version
返回后果如下,示意您已胜利装置JDK 1.8。
5. 体验Spring Boot+PolarDB-X利用开发
本步骤将领导您如何下载并编辑Spring Boot样例工程,并连贯PolarDB-X数据库。详情请参见Spring Boot官网教程。
- 装置Git。
执行如下命令,装置Git。
yum -y install git
- 下载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
- 创立数据库。
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退出数据库。
- 配置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键保留并退出。
- 创立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键保留并退出。
- 创立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键保留并退出。
- 创立一个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键保留并退出。
- 创立一个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键保留并退出。
- 运行Spring Boot样例工程。
执行如下命令,运行Spring Boot样例工程。
./gradlew bootRun
请您急躁期待大概两分钟,返回后果如下,示意您胜利运行。
- 测试。
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主页。
- 装置WordPress。
1.1 在试验页面,切换至第一个终端窗口。按Ctrl+C键,进行运行Spring Boot样例工程。
1.2 执行如下命令,装置WordPress。
docker run --name some-wordpress -p 9090:80 -d wordpress
- 创立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退出数据库。
- 配置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 。
祝贺实现
发表回复