PG+MySQL第2课

本文涉及的产品
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
云数据库 RDS MySQL,集群系列 2核4GB
推荐场景:
搭建个人博客
RDS MySQL Serverless 高可用系列,价值2615元额度,1个月
简介: 本篇内容分享了PG+MySQL第2课。

分享人:Digoal 阿里云资深数据库专家

正文:

本篇内容将通过三个部分来介绍PG+MySQL第2课。

一、pgadmin

二、DMS

三、psql cli

image.png


一、pgadmin


pgadmin是官方开源的图形化的管理工具。以苹果客户端为例,到官网选择最新版本下载。

image.png

下载之后,解压到应用程序里。pgadmin是web服务,我们通过浏览器使用它,企业的开发人员可以直接通过服务器连接数据库。设置密码之后,可以切换语言,方便后期操作。

image.png

打开阿里云官网,点击控制台,选择产品服务,选择数据库里的RDS,击创建实例,选择PG引擎。如果要选择ESSDPL2,请选择新可用区。老可用区很油可能没有ESSD资源。如果购买失败,会轻致无法再享受免费活动,建议直接买ESSD云盘。测试时建议选择s保障可以创建实例,生产建议ESSD PL2以1L。

 

image.png

确认支付,等待创建。如果实例目前只是拿来做学习测试,可以取消自动续费功能。如果用作生产,记得勾选自动续费。

image.png

配置防火墙,选择数据库安全特性。根据实际需求,修改IP地址。创建连接数据库的账号,根据实际需求,选择高权限或者普通账号。建议我们一定要自己创建自己的数据库,不要用自带的数据库。由于权限限制,自带数据库无法导出所有数据。

image.png

如果A业务跟B业务完全独立,相互之间没有任何数据交集,创建两个数据库。不同的数据库之间,没有办法直接访问对应的目标表。创建之后,改一下数据库的名称,便于记忆和管理。

image.png


二、DMS


在主页的基本信息页面,找到登录数据库,输入创建的用户和密码,点击登录。

image.png

pgadmin可以部署在两个地方,一个是部署在你的ECS,通过外服务连接,部署pgadmin。当pgadmin部署在本地服务器,需要申请一个外网地址,点击申请外网,就可以通过这个地址访问。

image.png

接下来,我们介绍一下pgadmin的逻辑结构。pgadmin逻辑结构,设计比较清晰。你可以在有限存储范围内,创建无数个数据库。比如你买了500g的硬盘,你最多只能创建500g的数据库。

image.png

我们在访问数据库时,会有多个业务或者不同用户访问,这个时候就会涉及到权限的问题。权限跟数据库的逻辑结构息息相关,每一级都要赋权限,每一层的每一个对象也都有独立权限。

image.png

接下来,我们用PG连接一个实例。首先打开web终端,点击创建server,给实例命名,拷贝公网地址,填写端口,创建用户,输入密码,点击保存之后就可以连接了。

image.png

因为pgadmin数据库支持sll连接,我们通过公网最好还是用sll连接,避免信息被泄露的问题。我们在数据库安全,打开控制台,点击sll,开启ssl。然后断开连接,右键点击server,disconnect之后,点击属性。点击系统视图,查询sll是否启用。

image.png

我们来了解一下pgadmina的结构。首先是server,就是实例的意思。我们现在只有一个实例,所以我们只看到pgadmin test。在pgadmin test下面,有database。每一个database下面有表序列,存储过程的物化视图函数,外部表,域等等。如果查询某一张表,可以直接点右键,就可以查询了。因为pgadmin支持在一个实例里面,创建多个database,不同的database可能放了不同的业务。所以一定关注当前连接的是哪一个database。

image.png

在使用pgadmin时,不要随便count。不要查询大表不带limit,会返回所有记录。如果执行了查询大表返回所有记录,怎么停止?如果有一张上亿的表,几十亿的表,我们可以点击停止按钮,就可以停止返回。

image.png

 

接下来,我们讲讲pgadmin的逻辑备份和逻辑还原。表级别、库级别、schema级别,可选择结构或数据备份。选中要备份的数据库,右击数据库,选择备份。点击备份出现以下对话框,点击文件名后面有三个点的按钮,选择要备份的路径,并输入备份文件的名称。点击完成就备份成功了。

image.png

还原时,如果数据库中没有要还原的数据库,应该先创建一个名字和备份文件相同的。如果要还原到其他数据库中也可以,这样就把原来数据库给覆盖了。创建一个数据库,仅需要输入数据库名称,选择用户就可以了。右击数据库名称,选择恢复,出现下面的对话框。然后选择备份好的backup文件,进行还原。恢复失败通常可能和权限、用户缺失、对象命名冲突等有关。

image.png


三、psql cli


最后,我们来看一下图形化管理界面,命令行界面。使用命令行可以做一些更加更加底层的操作。申请 ecs 与RDS 在相同的vpc,相同的region,相同的az。镜像选择7.7,压测性能建议2c以上,否则客户端会成为瓶颈。

image.png个应用程序可以同时打开多个后端连接。每个连接都有一个PG对象,通过连接对象发送查询之前,应调用该函数,检查成功连接的返回值。如果不受信任的用户访问数据库,可以将参数关键字设置options为 value -csearch_path=。或者,在连接后发出。

image.png

当你把主机名,端口,数据库名,用户名,密码,这五个环境变量都设好之后。可以写到环境变量的某个需要的脚本里,它会自动识别环境变量,自动连接设置好的数据库。

image.png

接下来,给大家说几个重要命令。第一,\?。当你连到数据库的需要之后,反斜线问号会告诉你需要的帮助。第二,TAB键。比如create table之后,不记得要什么东西了,直接按TAB键,就会帮你把一些记不住的东西补齐。第三,\h。当你不知道怎么写完整的语法,输入\h。它就会create所有的东西,帮你打印出来。第四,打印sql耗时,输入\timing。第五 ,切换数据库。输入\c。第六,有哪些数据库,分别占用多少空间,输入\l+。第七,当前数据库有哪些schema,输入\dn+。第八,当前默认路径,输入show search_path。第九,表,权限,以及占用的空间,输入\dt+。第十,表结构,输入\d tablename。第十一,安装了哪些插件模块,输入\dx。

image.png

数据库支持copy语法,但为什么用\copy呢?如果直接执行copy语法,它是一个数据库端协议。如果把它copy到外部文件,它把它copy到了服务器。copy是服务端,\copy是客户端命令。我们把客户端命令在内部做了转译,用服务端,客户端的远程协议,把数据文件copy到本地。

image.png

我们如何不落地将数据导入到rds pg?首先,编辑密码文件vi~/.pgpass。在主机1和主机2输入数据库,用户,密码。chmod 400~/.pgpass。如果单个事务倒入,有任何错误都会导致全部回滚。输入:nohup pg_dump-F p-h主机1-p端口-U用户-d数据库|psql-h主机2-p端口-U用户-1数据库>./imp.log1 2>&1&。有错误不会导致全部回滚,输入:nohup pg_dump-F p-h主机1-p端口-U用户-d数据库|psql-h主机2-p端口-U用户数据库>./imp.log2 2>&1&。通过这种管道的方式,本地不用落任何东西,直接传输云端,来解决备份问题。


 

 

相关实践学习
如何在云端创建MySQL数据库
开始实验后,系统会自动创建一台自建MySQL的 源数据库 ECS 实例和一台 目标数据库 RDS。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助     相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
相关文章
|
6月前
|
安全 关系型数据库 数据库
上新|阿里云RDS PostgreSQL支持PG 16版本,AliPG提供丰富自研能力
AliPG在社区版16.0的基础上,在安全、成本、可运维性等多个方面做了提升,丰富的内核/插件特性支持,满足业务场景的需求
|
存储 SQL Oracle
PG+MySQL第14课
数据库使用者了解数据库的高级功能后,才能在业务场景里面使用,来提升整体的生产效率。
PG+MySQL第14课
|
关系型数据库 MySQL
为什么全网都在劝你在学PG,而不是MySQL?
为什么全网都在劝你在学PG,而不是MySQL?
325 0
为什么全网都在劝你在学PG,而不是MySQL?
|
SQL 编解码 并行计算
PG+MySQL第9课-实时精准营销
通常业务场景会涉及基于标签条件圈选目标客户、基于用户特征值扩选相似人群、群体用户画像分析这些技术,本文将围绕这三个场景去介绍在实施精准营销里面的PG数据库的使用
PG+MySQL第9课-实时精准营销
|
SQL 数据采集 机器学习/深度学习
PG+MySQL第13课
数据库使用者了解数据库的高级功能后,才能在业务场景里面使用,来提升整体的生产效率。
PG+MySQL第13课
|
存储 SQL 自然语言处理
PG+MySQL第12课
数据库使用者了解数据库的高级功能后,才能在业务场景里面使用,来提升整体的生产效率
PG+MySQL第12课
|
存储 机器学习/深度学习 算法
PG+MySQL第11课-多维向量搜索
多维向量搜索不仅可以用在特征值的相似圈选这类场景,还可以用在图像识别场景。而不同的向量支持不同的距离算法,如cube、imgsmlr和pase.
PG+MySQL第11课-多维向量搜索
|
存储 SQL 搜索推荐
PG+MySQL第10课-多维组合搜索
多维组合查询也是pg非常擅长的产品,它的解决方法或者优化方法非常的多,并且也具备了跟搜索引擎一样的倒排索引技术,可以便捷有效地解决任意字段组合查询的业务场景诉求
PG+MySQL第10课-多维组合搜索
|
存储 SQL 编解码
PG+MySQL第8课
今天给大家分享的主题是时空空间,时空数据库概念以及实战。主要从这3个方面:空间/时空数据库的概念;应用场景;四个模型的使用案例,主要是一些概念性的东西以及它案例的操作性的东西。
PG+MySQL第8课
|
SQL 存储 并行计算
G+MySQL第7课-PG的并行计算跟JIT
PG的并行计算跟JIT,分别应用在分析型的业务场景,比如复杂的TB级别的实时分析场景。本篇内容将从2个部分为读者介绍PG+MySQL联合解决方案,希望可以让大家对PG+MySQL有更深入的了解,并可以将这些特性应用到项目中,达到降本提效的目的。
G+MySQL第7课-PG的并行计算跟JIT