相关推荐recommended
【MySQL系列】PolarDB入门使用
作者:mmseoamin日期:2023-12-11

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

【MySQL系列】PolarDB入门使用,img,第1张

  • 推荐: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 的使用了。

                【MySQL系列】PolarDB入门使用,image-20231121173420532,第2张

                二.准备阶段

                1.控制台介绍

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

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

                  【MySQL系列】PolarDB入门使用,image-20231121174919865,第3张

                  2.创建账号

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

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

                  【MySQL系列】PolarDB入门使用,image-20231122220606269,第4张

                  3.数据库账号

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

                  【MySQL系列】PolarDB入门使用,image-20231121175004748,第5张

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

                  需要设置:

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

                    【MySQL系列】PolarDB入门使用,image-20231122221028329,第6张

                    4.进入 SQL 控制台

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

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

                    【MySQL系列】PolarDB入门使用,image-20231122090730954,第7张

                    三.使用数据库

                    1.连接数据库

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

                    【MySQL系列】PolarDB入门使用,image-20231122221626960,第8张

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

                    【MySQL系列】PolarDB入门使用,image-20231122091732484,第9张

                    3.插入数据

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

                    向 test_table_kwan 表中插入 3 条数据。

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

                    【MySQL系列】PolarDB入门使用,image-20231122091751894,第10张

                    4.查询验证

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

                    SELECT * FROM kwan.test_table_kwan;
                    

                    【MySQL系列】PolarDB入门使用,image-20231122091804489,第11张

                    5.更改数据

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

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

                    【MySQL系列】PolarDB入门使用,image-20231122091825209,第12张

                    6.验证查询

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

                    SELECT * FROM kwan.test_table_kwan;
                    

                    【MySQL系列】PolarDB入门使用,image-20231122091526633,第13张

                    四.性能监测

                    1.Serverless 配置入口

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

                    【MySQL系列】PolarDB入门使用,image-20231122175955367,第14张

                    2.节点资源配置

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

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

                      【MySQL系列】PolarDB入门使用,image-20231122180032846,第15张

                      3.Serverless 监控指标

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

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

                        【MySQL系列】PolarDB入门使用,image-20231122180116363,第16张

                        4.非 Serverless 监控指标

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

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

                          【MySQL系列】PolarDB入门使用,image-20231122180419835,第17张

                          5.监控与报警

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

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

                            【MySQL系列】PolarDB入门使用,image-20231122180906606,第18张

                            报警规则:

                            【MySQL系列】PolarDB入门使用,image-20231122180829757,第19张

                            监控指标:

                            【MySQL系列】PolarDB入门使用,image-20231122180759258,第20张

                            五.常见问题

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

                            【MySQL系列】PolarDB入门使用,image-20231122090922860,第21张

                            解决方案:

                            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 控制台调用存储过程。

                            【MySQL系列】PolarDB入门使用,image-20231123111448774,第22张

                            2.清理及后续

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

                            【MySQL系列】PolarDB入门使用,image-20231122092151715,第23张

                            觉得有用的话点个赞 👍🏻 呗。

                            ❤️❤️❤️本人水平有限,如有纰漏,欢迎各位大佬评论批评指正!😄😄😄

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

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

                            【MySQL系列】PolarDB入门使用,img,第24张