当前位置: 首页 > news >正文

【MySQL系列】PolarDB入门使用

💝💝💝欢迎来到我的博客,很高兴能够在这里和您见面!希望您在这里可以感受到一份轻松愉快的氛围,不仅可以获得有趣的内容和知识,也可以畅所欲言、分享您的想法和见解。
img

  • 推荐:kwan 的首页,持续学习,不断总结,共同进步,活到老学到老
  • 导航
    • 檀越剑指大厂系列:全面总结 java 核心技术点,如集合,jvm,并发编程 redis,kafka,Spring,微服务,Netty 等
    • 常用开发工具系列:罗列常用的开发工具,如 IDEA,Mac,Alfred,electerm,Git,typora,apifox 等
    • 数据库系列:详细总结了常用数据库 mysql 技术点,以及工作中遇到的 mysql 问题等
    • 懒人运维系列:总结好用的命令,解放双手不香吗?能用一个命令完成绝不用两个操作
    • 数据结构与算法系列:总结数据结构和算法,不同类型针对性训练,提升编程思维,剑指大厂

非常期待和您一起在这个小小的网络世界里共同探索、学习和成长。💝💝💝 ✨✨ 欢迎订阅本专栏 ✨✨

博客目录

    • 一.简单介绍
      • 1.什么是 PolarDB?
      • 2.PolarDB 特性有哪些?
      • 3.免费试用
    • 二.准备阶段
      • 1.控制台介绍
      • 2.创建账号
      • 3.数据库账号
      • 4.进入 SQL 控制台
    • 三.使用数据库
      • 1.连接数据库
      • 2.创建表
      • 3.插入数据
      • 4.查询验证
      • 5.更改数据
      • 6.验证查询
    • 四.性能监测
      • 1.Serverless 配置入口
      • 2.节点资源配置
      • 3.Serverless 监控指标
      • 4.非 Serverless 监控指标
      • 5.监控与报警
    • 五.常见问题
      • 1.提示无权限
      • 2.创建存储过程
      • 2.清理及后续

一.简单介绍

1.什么是 PolarDB?

PolarDB 是阿里云(Alibaba Cloud)提供的一种关系型数据库服务。它是一种全球性的分布式数据库系统,具有高可用性、弹性扩展和高性能的特点。PolarDB 基于阿里云自主研发的架构,采用了共享存储和分布式共识协议,以实现跨多个节点的数据同步和读写操作。

2.PolarDB 特性有哪些?

PolarDB 的一些特性包括:

  1. 性能优越: PolarDB 支持自动分库分表和动态水平扩展,可以提供弹性的性能和存储资源,以适应不断增长的业务需求。
  2. 高可用性: 构建在分布式架构上,PolarDB 具备自动故障切换和数据自动备份恢复的能力,提供高可用性和数据安全性。
  3. 兼容性: 兼容 MySQL 和 PostgreSQL,用户可以将其现有的 MySQL 或 PostgreSQL 数据库迁移到 PolarDB,而无需修改应用程序代码。
  4. 全球部署: 支持在多个地域进行部署,以提供更好的全球性能和可用性。

3.免费试用

话不多说,上链接!!!

免费试用链接

点击链接后,通过筛选 PolarDB MySQL 我们可以看到两个选项,我们选择 Serverless 类型的产品进行试用,点击立即试用,系统就会进入到 Serverless 资源选择页面,然后就可以进入集群管理控制台愉快的进行 PolarDB 的使用了。

image-20231121173420532

二.准备阶段

1.控制台介绍

登录到云数据库 PolarDB 的控制台,我们可以看到左侧很多功能目录。

  • 基本信息: 展示 PolarDB 集群的基本信息,白名单与账号,以及集群配置等。
  • 性能监控: 监测 PolarDB 集群的各项指标,如 CPU,CPU 使用率等。
  • 配置与管理: PolarDB 建库建表,账号管理等。
  • 诊断与优化: 主要是管理日志,以及慢 SQL 查询相关信息。
  • 日志与审计: 对数据库上访问记录进行采集、分析和存储。

image-20231121174919865

2.创建账号

在控制台左边的配置与管理栏,我们可以看到账号管理,点击账号管理,可以进入到 PolarDB 账号的管理页面。

点击创建账号,可以设置账号名,设置账号类型,高权限账号只能创建一个,普通账号可以设置多个,大家可以根据自己的需要进行设定,然后设置密码,点击确认后账号就创建成功了。

image-20231122220606269

3.数据库账号

登录 PolarDB 的控制台,在左侧的配置与管理栏,可以看到数据库管理,点击后可以进入到数据库管理页面。

image-20231121175004748

在这个页面,我们可以进行数据库的创建,点击创建数据库,可以进入到创建数据库的页面。

需要设置:

  • 数据库名称
  • 支持字符集
  • 授权账号和备注说明是非必填的,可以不填。

image-20231122221028329

4.进入 SQL 控制台

通过点击配置与管理 ==>> 数据库管理 ==>> SQL 查询

点击 SQL 查询按钮,可以进入到 SQL 操作的控制台,开始进行 SQL 操作。

image-20231122090730954

三.使用数据库

1.连接数据库

通过点击如图所示的 SQL 查询,相当于在连接创建的 kwan 数据库,点击 SQL 查询,就可以看到连接数据库成功,进入到 SQL 操作界面。

image-20231122221626960

2.创建表

在数据库管理页面,我这边创建了一个库是 kwan,在 SQL 操作页面可以看到选择的是 kwan 这个数据库,如果大家看到是 mysql,那么执行 SQL 的时候,需要加上自己创建的数据库名,比如我这里是 kwan。

这里我们首先创建一个名为 test_table_kwan 的测试表。

-- 创建一个名为test_table_kwan的测试表
CREATE TABLE kwan.test_table_kwan (id INT NOT NULL AUTO_INCREMENT,name VARCHAR(50) NOT NULL,age INT NOT NULL,PRIMARY KEY (id)
);

image-20231122091732484

3.插入数据

创建表成功后,我们想表中插入几条数据。

向 test_table_kwan 表中插入 3 条数据。

-- 向test_table_kwan表中插入3条数据
INSERT INTO kwan.test_table_kwan (name, age) VALUES
('John', 25),
('Mary', 30),
('Bob', 35);

image-20231122091751894

4.查询验证

查询表数据,看看刚刚插入的数据是否插入成功。

SELECT * FROM kwan.test_table_kwan;

image-20231122091804489

5.更改数据

查询到数据之后,我们希望修改 id 为 1 的值,将 name 修改为 Johnny,age 修改为 26。

UPDATE kwan.test_table_kwan
SET name = 'Johnny', age = 26
WHERE id = 1;

image-20231122091825209

6.验证查询

使用SELECT * FROM kwan.test_table_kwan;命令,可以查看到修改后的表数据。

SELECT * FROM kwan.test_table_kwan;

image-20231122091526633

四.性能监测

1.Serverless 配置入口

进入 PolarDB 的控制台,在基本信息页面,可以看到数据库节点选项,这个是配置 PolarDB Serverless 弹性扩缩容的地方。通过点击 Serverless 设置按钮,可以进入 Serverless 设置的页面。

image-20231122175955367

2.节点资源配置

进入设置页面后,可以看到如下配置选项: 我们可以根据自己需要进行合适的设置。

  • 单节点资源弹升上限
  • 单节点资源弹升下限
  • 只读节点个数扩展上限
  • 只读节点个数扩展下限
  • 是否开启无活动暂停
  • 定时执行

image-20231122180032846

3.Serverless 监控指标

在控制台的性能监控栏,我们可以对性能进行监控,主要监控指标如下图所示:

  • CPU 数量
  • PCU CPU 使用率
  • PCU 内存使用率

image-20231122180116363

4.非 Serverless 监控指标

对于非 Serverless 监控指标,也可以进行监测,指标数据如图所示:

  • 连接(每秒活跃连接数)
  • QPS(每秒请求数)
  • TPS(每秒事务数)
  • MPS(每秒数据操作数)
  • 存储空间
  • 每秒 Redo 日志写入量

image-20231122180419835

5.监控与报警

对于一个优秀的数据库,监控与报警是很有必要。PolarDB 在这一块做的非常好,人性化的加入了报警规则的自定义,以及自定义指标进行监控,只关注想要关注的指标,非常的人性化和实用。

  • 添加报警规则
  • 添加指标监控
  • 修改监控频率

image-20231122180906606

报警规则:

image-20231122180829757

监控指标:

image-20231122180759258

五.常见问题

1.提示无权限

问题描述:在控制台执行 SQL,提示如图所示的没有权限。

CREATE TABLE test_table_kwan_01 (id INT NOT NULL AUTO_INCREMENT,name VARCHAR(50) NOT NULL,age INT NOT NULL,PRIMARY KEY (id)
);

image-20231122090922860

解决方案:

1.可以看到当前选择的库是 mysql 库系统库,我们需要选择我们创建的 kwan 库进入即可

2.查询的时候带上库名

CREATE TABLE kwan.test_table_kwan_01 (id INT NOT NULL AUTO_INCREMENT,name VARCHAR(50) NOT NULL,age INT NOT NULL,PRIMARY KEY (id)
);

2.创建存储过程

首先先创建一个表

--  建表  带注释+创建时间
DROP TABLE `dim_bl_week_info`;--   新建表
CREATE TABLE `dim_bl_week_info`
(`id`                  int(11) NOT NULL AUTO_INCREMENT COMMENT '自增主键',`week_start_day`      date    DEFAULT NULL COMMENT '周开始',`week_end_day`        date    DEFAULT NULL COMMENT '周结束',`financial_year_week` int(32) DEFAULT NULL COMMENT '第n财年周',`financial_year`      int(32) DEFAULT NULL COMMENT '财年',PRIMARY KEY (`id`)
) ENGINE = InnoDBDEFAULT CHARSET = utf8;

存储过程:

-- 使用前先删除存储过程,因为创建存储过程后,存储过程会一直存在于mysql中
DROP PROCEDURE IF EXISTS test_procedure_insert_week;
-- 标记上面的命令执行结束  --  声明;;为结束标志
DELIMITER;;-- 创建存储过程
CREATE PROCEDURE test_procedure_insert_week()
BEGINDECLAREi DATE;DECLAREnext_year DATE;DECLAREweek_count INT;DECLAREyear INT;DECLARElast_day DATE;SETi = '1970-03-01';SETweek_count = 1;SETyear = YEAR(i);WHILEi < '2999-03-01'DOSETnext_year = STR_TO_DATE(CONCAT((year + 1), '-03-01'), '%Y-%m-%d');SETi = IF(i >= next_year, next_year, i); --  日期SETyear = IF(i >= next_year, year + 1, year); --  财年SETweek_count = IF(i >= next_year, 1, week_count);SETlast_day = IF(DATE_ADD(i, INTERVAL 6 DAY) >= next_year, LAST_DAY(i),DATE_ADD(i, INTERVAL 6 DAY));INSERT INTO `kwan`.`dim_bl_week_info` (week_start_day, week_end_day, financial_year_week, financial_year)VALUES (i, last_day, week_count, year);SETi = DATE_ADD(i, INTERVAL 7 DAY);SETweek_count = week_count + 1;END WHILE;
END;;
DELIMITER;;
--   调用无参的存储过程,当然也可以设置参数,调用时也需要传递参数
CALL test_procedure_insert_week();

直接在 SQL 控制台执行会有问题,DMS 有些存储过程的语法不支持。

解决方案:

可以在可编程对象里面进行创建存储过程,然后在 SQL 控制台调用存储过程。

image-20231123111448774

2.清理及后续

目前我们使用的是试用产品,有必要关注试用的到期时间,以及释放方法,避免造成不必要的浪费,在不使用的时候,及时释放 PolarDB 集群资源,释放方式如图所示。

image-20231122092151715

觉得有用的话点个赞 👍🏻 呗。
❤️❤️❤️本人水平有限,如有纰漏,欢迎各位大佬评论批评指正!😄😄😄

💘💘💘如果觉得这篇文对你有帮助的话,也请给个点赞、收藏下吧,非常感谢!👍 👍 👍

🔥🔥🔥Stay Hungry Stay Foolish 道阻且长,行则将至,让我们一起加油吧!🌙🌙🌙

img

相关文章:

【MySQL系列】PolarDB入门使用

&#x1f49d;&#x1f49d;&#x1f49d;欢迎来到我的博客&#xff0c;很高兴能够在这里和您见面&#xff01;希望您在这里可以感受到一份轻松愉快的氛围&#xff0c;不仅可以获得有趣的内容和知识&#xff0c;也可以畅所欲言、分享您的想法和见解。 推荐:kwan 的首页,持续学…...

第二节HarmonyOS DevEco Studio创建项目以及界面认识

一、创建项目 如果你是首次打开DevEco Studio&#xff0c;那么首先会进入欢迎页。 在欢迎页中单击Create Project&#xff0c;进入项目创建页面。 选择‘Application’&#xff0c;然后选择‘Empty Ability’&#xff0c;单击‘Next’进入工程配置页。 配置页中&#xff0c;详…...

网页设计--第5次课后作业

1、快速学习JavaScript的基本知识第11-14章 JavaScript入门 - 绿叶学习网 2、使用所学的知识完成以下练习。 1&#xff09;点击 “点亮”按钮 点亮灯泡&#xff0c;点击“熄灭”按钮 熄灭灯泡 2&#xff09;输入框鼠标聚焦后&#xff0c;展示小写&#xff1b;鼠标离焦后…...

Spring Cache框架,实现了基于注解的缓存功能。

个人简介&#xff1a;Java领域新星创作者&#xff1b;阿里云技术博主、星级博主、专家博主&#xff1b;正在Java学习的路上摸爬滚打&#xff0c;记录学习的过程~ 个人主页&#xff1a;.29.的博客 学习社区&#xff1a;进去逛一逛~ Spring Cache框架 简介Spring Cache 环境准备S…...

CSS-鼠标属性篇

属性名&#xff1a;cursor 功能&#xff1a;设置鼠标光标的样式 属性值&#xff1a; pointer&#xff1a;小手move&#xff1a;移动图标text&#xff1a;文字选择器crosshair&#xff1a;十字架wait&#xff1a;等待help&#xff1a;帮助 eg.html{ cursor: wait;}(此处使用css改…...

Fiddler弱网测试究竟该怎么做?

前言 使用Fiddler对手机App应用进行抓包&#xff0c;可以对App接口进行测试&#xff0c;也可以了解App传输中流量使用及请求响应情况&#xff0c;从而测试数据传输过程中流量使用的是否合理。 抓包过程&#xff1a; 1、Fiddler设置 1&#xff09;启动Fiddler->Tools->…...

蓝桥杯-平方和(599)

【题目】平方和 【通过测试】代码 import java.util.Scanner; import java.util.ArrayList; import java.util.List; // 1:无需package // 2: 类名必须Main, 不可修改public class Main {public static void main(String[] args) {Scanner scan new Scanner(System.in);//在此…...

从零构建属于自己的GPT系列1:预处理模块(逐行代码解读)、文本tokenizer化

1 训练数据 在本任务的训练数据中&#xff0c;我选择了金庸的15本小说&#xff0c;全部都是txt文件 数据打开后的样子 数据预处理需要做的事情就是使用huggingface的transformers包的tokenizer模块&#xff0c;将文本转化为token 最后生成的文件就是train_novel.pkl文件&a…...

STM32内存介绍

ROM是一种只读存储器&#xff0c;经历了从NOR Flash到NAND Flash再到现在的eMMC的发展。为了便于使用和大批量生产&#xff0c;ROM进一步分为了4种类型&#xff1a;PROM、EPROM、EEPROM和Flash。PROM只能被编程一次&#xff0c;EPROM可擦写可编程且可达1000次&#xff0c;EEPRO…...

Qt::Window 、Qt::Tool是 Qt 框架中的一个窗口标志(Window Flag),用于指定窗口的类型和行为

Qt::Window Qt::Window 是 Qt 框架中的一个窗口标志&#xff08;Window Flag&#xff09;&#xff0c;用于指定窗口的类型和行为。 在 Qt 中&#xff0c;窗口标志用于控制窗口的外观、行为和交互方式。通过使用不同的窗口标志组合&#xff0c;可以定制窗口的特性&#xff0c;…...

东胜物流软件 SQL注入漏洞复现

0x01 产品简介 东胜物流软件是一款致力于为客户提供IT支撑的 SOP&#xff0c; 帮助客户大幅提高工作效率&#xff0c;降低各个环节潜在风险的物流软件。 0x02 漏洞概述 东胜物流软件 TCodeVoynoAdapter.aspx、/TruckMng/MsWlDriver/GetDataList、/MvcShipping/MsBaseInfo/Sav…...

第1章 爬虫基础

目录 1. HTTP 基本原理1.1 URI 和 URL1.2 HTTP 和 HTTPS1.3 请求1.3.1 请求方法1.3.2 请求的网址1.3.3 请求头1.3.4 请求体 1.4 响应1.4.1 响应状态码1.4.2 响应头1.4.3 响应体 2. Web 网页基础2.1 网页的组成2.1.1 HTML2.1.2 CSS2.1.3 JavaScript 2.2 网页的结构2.3 节点树及节…...

Python教程---序列--序列修改元素

下面和大家讲一下如何进行序列修改元素。 序列修改元素可以进行两个操作。如下: 方法1:通过下标元素来修改 方法2:通过del来删除元素 # 创建一个原始的列表 stus [张三,李四,王五,赵六,王麻子,小红]#通过下标来直接修改元素中的内容 stus[0] 张三123 stus[2] 哈哈#通过d…...

Linux 中的 ls 命令使用教程

目录 前言 如何运用 ls 命令 1、列出带有所有权的文件和目录 2、获取以人类可读的方式显示的信息 3、列出隐藏文件 4、递归列出文件 5、在使用 ls 时对文件和目录做区分 6、列出指定扩展名的文件 7、基于大小对输出内容排序 8、根据日期和时间排序文件 让我们来总结…...

Kubernetes基础入门:Kubernetes的有关概述

Kubernetes基础入门&#xff1a;Kubernetes的有关概述 一、摘要二、为什么需要 Kubernetes&#xff1f;三、Kubernetes 的功能架构 &#x1f496;The Begin&#x1f496;点点关注&#xff0c;收藏不迷路&#x1f496; 一、摘要 随着云计算和容器技术的快速发展&#xff0c;现代…...

C# 无法将“int[]“类型隐式转换为“int?[]“,无法将“string[]“类型隐式转换为“string?[]“

在 C# 中&#xff0c;不能将 int[] 隐式转换为 int?[]&#xff0c;因为它们是两种不同的类型。int[] 是一个整数数组&#xff0c;而 int?[] 是一个可空整数数组。要解决这个问题&#xff0c;你可以使用显式转换或创建一个新的可空整数数组。 两种解决方案供大家选择 // 示例…...

趣链科技,HyperChain

目录 趣链科技 HyperChain 产品介绍 CA认证即电子认证服务 趣链科技 趣链区块链平台Hyperchain-核心产品-趣链科技 趣链科技飞洛区块链服务开放平台...

吴恩达《机器学习》9-7-9-8:综合起来、自主驾驶

在神经网络的使用过程中&#xff0c;需要经历一系列步骤&#xff0c;从网络结构的选择到训练过程的实施。以下是使用神经网络时的主要步骤的小结&#xff1a; 一、网络结构的选择 输入层&#xff1a; 第一步是选择网络结构&#xff0c;即确定神经网络的层数以及每层的单元数。…...

HTTP/HTTPS

HTTP/HTTPS 简介 HTTP 协议是 Hyper Text Transfer Protocol&#xff08;超文本传输协议&#xff09;的缩写&#xff0c;是用于从万维网&#xff08; WWW:World Wide Web &#xff09;服务器传输超文本到本地浏览器的传送协议。 HTTP 是一个基于 TCP/IP 通信协议来传递数据&a…...

C语言中#ifndef的头文件保护用法和宏定义用法

文章目录 头文件保护宏定义 #ifndef MY_HEADER_H #define MY_HEADER_H// 这里放置头文件的内容#endif // MY_HEADER_H#ifndef _error#define _error (-1) #endif这两个代码块分别用于不同的目的。 头文件保护 #ifndef MY_HEADER_H #define MY_HEADER_H// 这里放置头文件的内…...

深度学习在微纳光子学中的应用

深度学习在微纳光子学中的主要应用方向 深度学习与微纳光子学的结合主要集中在以下几个方向&#xff1a; 逆向设计 通过神经网络快速预测微纳结构的光学响应&#xff0c;替代传统耗时的数值模拟方法。例如设计超表面、光子晶体等结构。 特征提取与优化 从复杂的光学数据中自…...

UE5 学习系列(三)创建和移动物体

这篇博客是该系列的第三篇&#xff0c;是在之前两篇博客的基础上展开&#xff0c;主要介绍如何在操作界面中创建和拖动物体&#xff0c;这篇博客跟随的视频链接如下&#xff1a; B 站视频&#xff1a;s03-创建和移动物体 如果你不打算开之前的博客并且对UE5 比较熟的话按照以…...

多模态商品数据接口:融合图像、语音与文字的下一代商品详情体验

一、多模态商品数据接口的技术架构 &#xff08;一&#xff09;多模态数据融合引擎 跨模态语义对齐 通过Transformer架构实现图像、语音、文字的语义关联。例如&#xff0c;当用户上传一张“蓝色连衣裙”的图片时&#xff0c;接口可自动提取图像中的颜色&#xff08;RGB值&…...

【论文笔记】若干矿井粉尘检测算法概述

总的来说&#xff0c;传统机器学习、传统机器学习与深度学习的结合、LSTM等算法所需要的数据集来源于矿井传感器测量的粉尘浓度&#xff0c;通过建立回归模型来预测未来矿井的粉尘浓度。传统机器学习算法性能易受数据中极端值的影响。YOLO等计算机视觉算法所需要的数据集来源于…...

《C++ 模板》

目录 函数模板 类模板 非类型模板参数 模板特化 函数模板特化 类模板的特化 模板&#xff0c;就像一个模具&#xff0c;里面可以将不同类型的材料做成一个形状&#xff0c;其分为函数模板和类模板。 函数模板 函数模板可以简化函数重载的代码。格式&#xff1a;templa…...

莫兰迪高级灰总结计划简约商务通用PPT模版

莫兰迪高级灰总结计划简约商务通用PPT模版&#xff0c;莫兰迪调色板清新简约工作汇报PPT模版&#xff0c;莫兰迪时尚风极简设计PPT模版&#xff0c;大学生毕业论文答辩PPT模版&#xff0c;莫兰迪配色总结计划简约商务通用PPT模版&#xff0c;莫兰迪商务汇报PPT模版&#xff0c;…...

智能职业发展系统:AI驱动的职业规划平台技术解析

智能职业发展系统&#xff1a;AI驱动的职业规划平台技术解析 引言&#xff1a;数字时代的职业革命 在当今瞬息万变的就业市场中&#xff0c;传统的职业规划方法已无法满足个人和企业的需求。据统计&#xff0c;全球每年有超过2亿人面临职业转型困境&#xff0c;而企业也因此遭…...

【1】跨越技术栈鸿沟:字节跳动开源TRAE AI编程IDE的实战体验

2024年初&#xff0c;人工智能编程工具领域发生了一次静默的变革。当字节跳动宣布退出其TRAE项目&#xff08;一款融合大型语言模型能力的云端AI编程IDE&#xff09;时&#xff0c;技术社区曾短暂叹息。然而这一退场并非终点——通过开源社区的接力&#xff0c;TRAE在WayToAGI等…...

Yii2项目自动向GitLab上报Bug

Yii2 项目自动上报Bug 原理 yii2在程序报错时, 会执行指定action, 通过重写ErrorAction, 实现Bug自动提交至GitLab的issue 步骤 配置SiteController中的actions方法 public function actions(){return [error > [class > app\helpers\web\ErrorAction,],];}重写Error…...

CMS内容管理系统的设计与实现:多站点模式的实现

在一套内容管理系统中&#xff0c;其实有很多站点&#xff0c;比如企业门户网站&#xff0c;产品手册&#xff0c;知识帮助手册等&#xff0c;因此会需要多个站点&#xff0c;甚至PC、mobile、ipad各有一个站点。 每个站点关联的有站点所在目录及所属的域名。 一、站点表设计…...