【Microsoft Azure 的1024种玩法】九. Microsoft Azure云端轻松构建部署PostgreSQL数据库...
  4AFg6g0R0HXv 2023年11月19日 30 0


【简介】

PostgreSQL是一种对象-关系型数据库管理系统,是完全的事务安全性数据库,完整地支持外键、联合、视图、触发器和存储过程(并支持多种语言开发存储过程)。它支持了大多数的SQL:2008标准的数据类型,也支持存储二进制的大对象,如图片、声音和视频,它对很多高级开发语言都有原生的编程接口及各种文档,本教程将带着大家在 Microsoft Azure云端轻松构建部署PostgreSQL数据库。

【操作步骤】

一.创建Virtual Machines

1.1创建资源组

①Azure 资源组是在其中部署和管理 Azure 资源的逻辑容器。 必须在创建虚拟机前创建资源组,通过如下命令执行创建名为myResourceGroupVM的资源组

az group create --name myResourceGroupVM --location eastus

②执行结果如下图所示:

【Microsoft Azure 的1024种玩法】九. Microsoft Azure云端轻松构建部署PostgreSQL数据库..._python

1.2 创建Linux虚拟机

①使用 az vm create 命令创建虚拟机,在创建虚拟机时,可使用多个选项来调配适合自己业务场景的虚拟机配置,具体执行命令如下

az vm create \
    --resource-group myResourceGroupVM \
    --name myVM \
    --image UbuntuLTS \
    --admin-username azureuser \
    --generate-ssh-keys

注:执行命令完毕以后CLI命令行会发送命令到Auzre后台进行调用VM的虚拟资源池,在调用创建的过程可能需要几分钟的时间,当创建完毕以后,Azure CLI会回显输出如下已创建的信息

{
 "fqdns": "",
 "id": "/subscriptions/7fe09b4b-02fc-47c2-9d25-905e0da35c1a/resourceGroups/myResourceGroupVM/providers/Microsoft.Compute/virtualMachines/myVM",
 "location": "eastus",
 "macAddress": "00-22-48-26-9E-05",
 "powerState": "VM running",
 "privateIpAddress": "10.0.0.4",
 "publicIpAddress": "20.102.64.112",
 "resourceGroup": "myResourceGroupVM",
 "zones": ""
 }

②回显VM信息如下图所示:

【Microsoft Azure 的1024种玩法】九. Microsoft Azure云端轻松构建部署PostgreSQL数据库..._运维_02

③我们访问Azure门户找到VM虚拟机管理页面,点击名称进去查看详情

【Microsoft Azure 的1024种玩法】九. Microsoft Azure云端轻松构建部署PostgreSQL数据库..._python_03

④在此界面中就可以看到我们利用Azure CLI 命令创建出的VM虚拟机器

【Microsoft Azure 的1024种玩法】九. Microsoft Azure云端轻松构建部署PostgreSQL数据库..._运维_04

二.远程连接Azure Virtual Machines

2.1 利用Azure Cloud Shell 连接VM

① 我们通过控制台或者Azure Cloud Shell返回的信息获取到了远程公网IP地址

ssh azure@20.121.17.46 ssh user@PublicIPaddress

【Microsoft Azure 的1024种玩法】九. Microsoft Azure云端轻松构建部署PostgreSQL数据库..._运维_05

三.安装PostgreSQL数据库依赖

3.1 安装PostgreSQL依赖库

① PostgreSQL数据库的安装需要预先安装一系列与之相关的软件到系统中,执行如下命令进行安装依赖

【Microsoft Azure 的1024种玩法】九. Microsoft Azure云端轻松构建部署PostgreSQL数据库..._linux_06

yum -y install readline-devel zlib-devel gcc gcc-c++ zlib readline

② 执行成功,如下图所示

【Microsoft Azure 的1024种玩法】九. Microsoft Azure云端轻松构建部署PostgreSQL数据库..._java_07

3.2 下载解压PostgreSQL安装包

①执行如下命令下载PostgreSQL安装包

wget https://cs110032000fedad500.blob.core.windows.net/demo/postgresql-10.3.tar.gz

【Microsoft Azure 的1024种玩法】九. Microsoft Azure云端轻松构建部署PostgreSQL数据库..._数据库_08

②执行如下命令进行解压压缩文件

tar -zxvf postgresql-10.3.tar.gz -C /opt/

③执行成功,如下图所示

【Microsoft Azure 的1024种玩法】九. Microsoft Azure云端轻松构建部署PostgreSQL数据库..._运维_09

④执行如下命令进入到解压的目录

cd /opt/postgresql-*/

⑤执行成功,如下所示

【Microsoft Azure 的1024种玩法】九. Microsoft Azure云端轻松构建部署PostgreSQL数据库..._java_10

⑥执行如下命令配置编译安装环境

./configure --build=arm-linux --host=arm-linux --prefix=/usr/local/pgsql

⑦执行成功,如下所示

【Microsoft Azure 的1024种玩法】九. Microsoft Azure云端轻松构建部署PostgreSQL数据库..._python_11

⑧执行如下命令开始编译安装

make && make install && make clean

⑨等待大约5分钟执行成功,如下图所示,至此PostgreSQL数据库安装完毕

【Microsoft Azure 的1024种玩法】九. Microsoft Azure云端轻松构建部署PostgreSQL数据库..._java_12

四.配置运行环境

4.1 授权用户

①执行如下命令添加Postgres数据库用户和用户组adduser postgres

【Microsoft Azure 的1024种玩法】九. Microsoft Azure云端轻松构建部署PostgreSQL数据库..._java_13

②执行如下命令将安装目录下的数据库授权给Postgres用户

chown -R postgres:postgres /usr/local/pgsql

【Microsoft Azure 的1024种玩法】九. Microsoft Azure云端轻松构建部署PostgreSQL数据库..._linux_14

③执行如下指令进行查看

ls -ld /usr/local/pgsql

④执行成功,如下所示

【Microsoft Azure 的1024种玩法】九. Microsoft Azure云端轻松构建部署PostgreSQL数据库..._java_15

4.2 配置环境变量

①执行如下命令切换到postgres用户 (以后的指令都是在postgres用户下执行)su postgres

②执行完毕,如下所示

【Microsoft Azure 的1024种玩法】九. Microsoft Azure云端轻松构建部署PostgreSQL数据库..._python_16

③编辑.bash_profile 文件

vim ~/.bash_profile

【Microsoft Azure 的1024种玩法】九. Microsoft Azure云端轻松构建部署PostgreSQL数据库..._java_17

④按键盘的"a" ,“i”, "o"任意键进入编辑模式,在文档最后输入下代码,进行配置变量

export PGHOME=/usr/local/pgsql export PGDATA=/usr/local/pgsql/data export PATH=$PATH:$PGHOME/bin

【Microsoft Azure 的1024种玩法】九. Microsoft Azure云端轻松构建部署PostgreSQL数据库..._java_18

⑤按键盘上“Esc”键退出编辑模式,输入保存并退出当前编辑文件指令“:wq”,如图所示:

【Microsoft Azure 的1024种玩法】九. Microsoft Azure云端轻松构建部署PostgreSQL数据库..._python_19

4.3检验配置结果

①执行如下命令使其环境变量生效(生效以后可直接使用psql 命令,不用再输入其相关全路径)

source ~/.bash_profile

【Microsoft Azure 的1024种玩法】九. Microsoft Azure云端轻松构建部署PostgreSQL数据库..._数据库_20

②使用命令测试环境变量是否配置成功post -V

③配置成功以后,会显示出PostgreSQL的数据库版本,如下图所示

【Microsoft Azure 的1024种玩法】九. Microsoft Azure云端轻松构建部署PostgreSQL数据库..._python_21

五.运行数据库服务

5.1 初始化数据库

①设置环境变量完成后,直接执行“initdb”即可完成pg数据库初始化,自动生成对应的相关目录文件initdb

②执行成功,如下所示

【Microsoft Azure 的1024种玩法】九. Microsoft Azure云端轻松构建部署PostgreSQL数据库..._python_22

5.2 启动数据库服务

①输入如下命令创建数据库日志文件路径mkdir -p /usr/local/pgsql/log ②修改日志路径访问权限,赋予/usr/local/pgsql/log 目录拥有者有可读可写可执行权限chmod 755 /usr/local/pgsql/log

③启动数据库,指令如下:pg_ctl -D $PGDATA -l $PGHOME/log/pg_server.log start

【Microsoft Azure 的1024种玩法】九. Microsoft Azure云端轻松构建部署PostgreSQL数据库..._python_23

5.3 检查启动结果

①使用如下命令检查postgres的进程ps -ef |grep "postgres

【Microsoft Azure 的1024种玩法】九. Microsoft Azure云端轻松构建部署PostgreSQL数据库..._python_24

六.修改数据库配置

修改Postgresql 数据库为可远程访问,用以提供数据存储服务

6.1 设置数据库密码

①执行下述命令,登陆到数据库

psql

【Microsoft Azure 的1024种玩法】九. Microsoft Azure云端轻松构建部署PostgreSQL数据库..._python_25

②设置postgres数据库密码(此处要自行设置数据库密码哦)

\password postgres

③执行成功, 如下所示

【Microsoft Azure 的1024种玩法】九. Microsoft Azure云端轻松构建部署PostgreSQL数据库..._运维_26

④退出当前数据库

\q

6.2 修改PostgreSQL数据库为可远程访问

①修改postgreSQL数据库配置文件,配置PostgreSQL数据库可远程访问

vim /usr/local/pgsql/data/postgresql.conf

②找到下列配置选项,在#listen_addresses = ‘localhost’ 处进行修改

【Microsoft Azure 的1024种玩法】九. Microsoft Azure云端轻松构建部署PostgreSQL数据库..._java_27

③将配置修改成如下所示

【Microsoft Azure 的1024种玩法】九. Microsoft Azure云端轻松构建部署PostgreSQL数据库..._运维_28

④修改完毕以后,按:wq进行保存

【Microsoft Azure 的1024种玩法】九. Microsoft Azure云端轻松构建部署PostgreSQL数据库..._运维_29

6.3 修改访问地址控制设置

①修改pg_hba.conf 配置文件

vim /usr/local/pgsql/data/pg_hba.conf

②找到85行,按键盘i进入编辑模式,在86行下面新增一行

host all all 0.0.0.0/0 md5

【Microsoft Azure 的1024种玩法】九. Microsoft Azure云端轻松构建部署PostgreSQL数据库..._运维_30

③在编辑框中按ECS键,并输入:wq进行保存

【Microsoft Azure 的1024种玩法】九. Microsoft Azure云端轻松构建部署PostgreSQL数据库..._java_31

④保存成功,如下所示,已开启相关配置,这时候就可以远程操作连接PostgreSQL数据库啦~

【Microsoft Azure 的1024种玩法】九. Microsoft Azure云端轻松构建部署PostgreSQL数据库..._数据库_32

【版权声明】本文内容来自摩杜云社区用户原创、第三方投稿、转载,内容版权归原作者所有。本网站的目的在于传递更多信息,不拥有版权,亦不承担相应法律责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@moduyun.com

  1. 分享:
最后一次编辑于 2023年11月19日 0

暂无评论

推荐阅读
4AFg6g0R0HXv