【MySQL系列】PolarDB入门使用

news2024/12/23 13:05:45

💝💝💝欢迎来到我的博客,很高兴能够在这里和您见面!希望您在这里可以感受到一份轻松愉快的氛围,不仅可以获得有趣的内容和知识,也可以畅所欲言、分享您的想法和见解。
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 = InnoDB
  DEFAULT CHARSET = utf8;

存储过程:

-- 使用前先删除存储过程,因为创建存储过程后,存储过程会一直存在于mysql中
DROP PROCEDURE IF EXISTS test_procedure_insert_week;
-- 标记上面的命令执行结束  --  声明;;为结束标志
DELIMITER;;

-- 创建存储过程
CREATE PROCEDURE test_procedure_insert_week()
BEGIN
    DECLARE
        i DATE;
    DECLARE
        next_year DATE;
    DECLARE
        week_count INT;
    DECLARE
        year INT;
    DECLARE
        last_day DATE;
    SET
        i = '1970-03-01';
    SET
        week_count = 1;
    SET
        year = YEAR(i);
    WHILE
        i < '2999-03-01'
        DO
            SET
                next_year = STR_TO_DATE(CONCAT((year + 1), '-03-01'), '%Y-%m-%d');
            SET
                i = IF(i >= next_year, next_year, i); --  日期
            SET
                year = IF(i >= next_year, year + 1, year); --  财年
            SET
                week_count = IF(i >= next_year, 1, week_count);
            SET
                last_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);
            SET
                i = DATE_ADD(i, INTERVAL 7 DAY);
            SET
                week_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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1251794.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

基于孔雀算法优化概率神经网络PNN的分类预测 - 附代码

基于孔雀算法优化概率神经网络PNN的分类预测 - 附代码 文章目录 基于孔雀算法优化概率神经网络PNN的分类预测 - 附代码1.PNN网络概述2.变压器故障诊街系统相关背景2.1 模型建立 3.基于孔雀优化的PNN网络5.测试结果6.参考文献7.Matlab代码 摘要&#xff1a;针对PNN神经网络的光滑…

巧妙之中见真章:深入解析常用的创建型设计模式

设计模式之创建型设计模式详解 一、设计模式是什么&#xff1f;二、模板方法2.1、代码结构2.2、符合的设计原则2.3、如何扩展代码2.4、小结 三、观察者模式3.1、代码结构3.2、符合的设计原则3.3、如何扩展代码3.4、小结 四、策略模式4.1、代码结构4.2、符合的设计原则4.3、如何…

计算机视觉面试题-01

计算机视觉面试通常涉及广泛的主题&#xff0c;包括图像处理、深度学习、目标检测、特征提取、图像分类等。以下是一些可能在计算机视觉面试中遇到的常见问题&#xff1a; 图像处理和计算机视觉基础 图像是如何表示的&#xff1f; 图像在计算机中可以通过不同的表示方法&…

Leetcode—28.找出字符串中第一个匹配项的下标【简单】

2023每日刷题&#xff08;四十&#xff09; Leetcode—28.找出字符串中第一个匹配项的下标 实现代码 int strStr(char* haystack, char* needle) {int len1 strlen(haystack);int len2 strlen(needle);int idx -1;int i 0;while(i < len1 - len2) {if(strncmp(haystac…

尺度为什么是sigma?

我们先看中值滤波和均值滤波。 以前&#xff0c;我认为是一样的&#xff0c;没有区分过。 他们说&#xff0c;均值滤波有使图像模糊的效果。 中值滤波有使图像去椒盐的效果。为什么不同呢&#xff1f;试了一下&#xff0c;果然不同&#xff0c;然后追踪了一下定义。 12345&…

从程序员到解决方案工程师:一次跨界的职场冒险

在科技行业里&#xff0c;程序员和解决方案工程师是两个非常常见的职业。虽然这两个职业都需要一定的行业理解和问题解决能力&#xff0c;但它们的工作内容和职责却有很大的不同。 那么&#xff0c;如果一名程序员决定转行做一名解决方案工程师&#xff0c;他会经历怎样的体验…

QXDM Filter使用指南

QXDM Filter使用指南 1. QXDM简介2 如何制作和导入Filter2.1 制作Filter2.1.1 制作Windows环境下Filter2.1.2 制作Linux环境下Filter 2.2 Windows环境下导入Filter 3 Filter配置3.1 注册拨号问题3.1.1 LOG Packets(OTA)3.1.2 LOG Packets3.1.3 Event Reports3.1.4 Message Pack…

Java网络爬虫实战

List item 文章目录 ⭐️写在前面的话⭐️&#x1f4cc;What is it?分类网络爬虫按照系统结构和实现技术&#xff0c;大致可以分为以下几种类型&#xff1a;通用网络爬虫&#xff08;General Purpose Web Crawler&#xff09;、聚焦网络爬虫&#xff08;Focused Web Crawler&a…

关于python中的nonlocal关键字

如果在函数的子函数中需要调用外部变量&#xff0c;一般会看见一个nonlocal声明&#xff0c;类似下面这种&#xff1a; def outer_function():x 10def inner_function():nonlocal xx 1print(x)inner_function()outer_function()在这个例子中&#xff0c;inner_function 引用…

AR眼镜双目光波导/主板硬件方案

AR(增强现实)技术的发展离不开光学元件&#xff0c;而在其中&#xff0c;光波导和Micro OLED被视为AR眼镜光学方案的黄金搭档。光学元件在AR行业中扮演着核心角色&#xff0c;其成本高昂且直接影响用户体验的亮度、清晰度和大小等因素。AR眼镜的硬件成本中&#xff0c;光机部分…

Postman如何使用(二):Postman Collection的创建/使用/导出分享等

一、什么是Postman Collection&#xff1f; Postman Collection是可让您将各个请求分组在一起。 您可以将这些请求组织到文件夹中。中文经常将collection翻译成收藏夹。如果再下文中看到这样的翻译不要觉得意外。Postman Collection会使你的工作效率更上一层楼。Postman Colle…

浅谈现代化城市建设中智慧消防的研究与应用

安科瑞 华楠 【摘要】随着城市现代化发展&#xff0c;城市居住密度愈来愈大&#xff0c;城市建筑结构复杂多样化&#xff0c;高层建筑火灾发生率在不断地升高。对现代化城市面临的消防问题展开讨论&#xff0c;针对智慧消防在现代化城市建设中的现状进行了分析&#xff0c;并提…

肾合胶囊 | 修行人追求的“长生不老”,其实就是一个“增阳消阴”的过程!

关于生命的问题&#xff0c;在人们面前有两条路任你选择。 人的生命活动靠精气来维持&#xff0c;善于保养精气者长生&#xff0c;否则就是短寿。 长生或短寿&#xff0c;只能由你自己选择。 其实要想长生并不是很难的事情&#xff0c;长生药就在你自己身上&#xff0c;只不…

YOLO目标检测——背包检测数据集下载分享【含对应voc、coco和yolo三种格式标签】

实际项目应用&#xff1a;各种背包检测数据集说明&#xff1a;背包检测数据集&#xff0c;真实场景的高质量图片数据&#xff0c;数据场景丰富标签说明&#xff1a;使用lableimg标注软件标注&#xff0c;标注框质量高&#xff0c;含voc(xml)、coco(json)和yolo(txt)三种格式标签…

SpringBoot 2 系列停止维护,Java8 党何去何从?

SpringBoot 2.x 版本正式停止更新维护&#xff0c;官方将不再提供对 JDK8 版本的支持 SpringBoot Logo 版本的新特性 3.2 版本正式发布&#xff0c;亮点包括&#xff1a; 支持 JDK17、JDK21 版本 对虚拟线程的完整支持 JVM Checkpoint Restore&#xff08;Project CRaC&…

OSG粒子系统与阴影-自定义粒子系统示例<1>(4)

自定义粒子系统示例(一) 自定义粒子系统示例(一)的代码如程序清单11-5所示&#xff1a; /* 自定义粒子系统示例1 */ void particleSystem_11_5(const string &strDataFolder) {osg::ref_ptr<osgViewer::Viewer> viewer new osgViewer::Viewer();osg::ref_ptr<os…

【每日一题】1457. 二叉树中的伪回文路径-2023.11.25

题目&#xff1a; 1457. 二叉树中的伪回文路径 给你一棵二叉树&#xff0c;每个节点的值为 1 到 9 。我们称二叉树中的一条路径是 「伪回文」的&#xff0c;当它满足&#xff1a;路径经过的所有节点值的排列中&#xff0c;存在一个回文序列。 请你返回从根到叶子节点的所有路…

illuminate/database 使用 四

文档&#xff1a;Hyperf Database: Getting Started - Laravel 10.x - The PHP Framework For Web Artisans 因为hyperf使用illuminate/database&#xff0c;所以按照文章&#xff0c;看illuminate/database代码实现。 一、读写分离 根据文档读写的host可以分开。设置读写分…

【ChatGLM2-6B】Docker下部署及微调

【ChatGLM2-6B】小白入门及Docker下部署 一、简介1、ChatGLM2是什么2、组成部分3、相关地址 二、基于Docker安装部署1、前提2、CentOS7安装NVIDIA显卡驱动1&#xff09;查看服务器版本及显卡信息2&#xff09;相关依赖安装3&#xff09;显卡驱动安装 2、 CentOS7安装NVIDIA-Doc…

Python live-server安装使用

live-server是一个具有实时加载功能的小型服务器&#xff0c;可以使用它来破解html/css/javascript&#xff0c;但是不能用于部署最终站点。也就是说我们可以在项目中实时用live-server作为一个实时服务器实时查看开发的网页或项目效果。&#xff08;1) 安装live-server npm in…