暂无图片
暂无图片
5
暂无图片
暂无图片
2
暂无图片

MogDB数据库入门使用尝鲜

一叶扁舟 2021-11-02
4546

image.png

一、概述

1.1、什么是MogDB

MogDB 是 EnMotech openGauss DataBase Enterprise Edition 的缩写,是云和恩墨以华为 openGauss 开源数据库为基础,投入研发力量,围绕高可用、安全、自动化运维、数据库一体机、SQL审核优化等企业需求推出的整体解决方案。云和恩墨致力于发挥企业自身优势,优先支持鲲鹏算力,在 openGauss 的运维服务、平台工具等方向为用户提供可信赖的企业级服务和产品,为 openGauss 的开源生态持续贡献力量。

1.2、了解更多

更多关于MogDB的科普,请参看👇🏻

墨天轮MogDB百科

云和恩墨官网MogDB产品介绍

MogDB官方文档

MogDB线上免费实操
image.png

二、入门实操

2.1、容器化安装

1、输入以下命令连接华为云SWR:

docker login -u cn-east-3@MLI3I6DMIETZS9H5N2VI -p c2ebf043f73720aabada13b8a3ae0f7c152bbe32515389a4f60ceede8857ce51 swr.cn-east-3.myhuaweicloud.com
复制

2、根据您的系统架构输入以下命令之一获取最新版MogDB镜像文件:

  • x86-64架构的机器:
docker pull swr.cn-east-3.myhuaweicloud.com/enmotech/mogdb:2.0.1_amd
复制
  • ARM64架构的机器:
docker pull swr.cn-east-3.myhuaweicloud.com/enmotech/mogdb:2.0.1_arm
复制

3、创建一个要挂载的目录

mkdir /mymogdb
复制

4、启动容器

docker run --name mymogdb --privileged=true -d -e GS_PASSWORD=Secretpassword@123 -v /mymogdb:/var/lib/opengauss -p 15432:5432 swr.cn-east-3.myhuaweicloud.com/enmotech/mogdb:2.0.1_amd
复制

【注意📢】

1、这里是x86架构机器的,ARM64的把amd的镜像换成
2、添加-v参数指定挂载的目录,防止容器意外被删除导致数据丢失
3、密码需要包含大小写和特殊符号,不然启动失败

2.2、测试使用

1、进入容器

docker exec -it mymogdb bash
复制

2、简单使用

root@modb:~# su - omm omm@modb:~$ gsql gsql ((MogDB 2.0.1 build f892ccb7) compiled at 2021-07-09 16:15:21 commit 0 last mr ) Non-SSL connection (SSL connection is recommended when requiring high-security) Type "help" for help. omm=# \l List of databases Name | Owner | Encoding | Collate | Ctype | Access privileges -----------+-------+----------+-------------+-------------+------------------- omm | omm | UTF8 | en_US.UTF-8 | en_US.UTF-8 | postgres | omm | UTF8 | en_US.UTF-8 | en_US.UTF-8 | template0 | omm | UTF8 | en_US.UTF-8 | en_US.UTF-8 | =c/omm + | | | | | omm=CTc/omm template1 | omm | UTF8 | en_US.UTF-8 | en_US.UTF-8 | =c/omm + | | | | | omm=CTc/omm (4 rows)
复制

三、遇到问题及解决

3.1、ERROR: permission denied for schema public

1、需求

我想要新建一个用户,再新建一个数据库并把owner设置为新建的用户,然后在该数据库中新建表

2、操作

# 通过omm用户连上数据库 su - omm gsql # 创建一个新用户 CREATE USER tom WITH PASSWORD 'xxx'; # 创建一个新的数据库并把owner设置为新建的用户 CREATE DATABASE demo OWNER tom; # 退出 \q # 使用新用户登录 gsql -U tom -d demo # 创建一个表 create table my_table (id integer);
复制

这时候报错了!

ERROR: permission denied for schema public
复制

3、问题解决

有幸搜到盖老师的文章,问题直接解决,Nice !!!
循序渐进 openGauss : 新用户权限和 permission denied for schema public

这是因为安全原因,不允许普通客户在public模式下操作。

可以将 ALL PRIVILEGES 授予 deom 用户,需要使用超级用户授权,这里是 omm 用户:

omm=# GRANT ALL PRIVILEGES TO demo; ALTER ROLE
复制

再次测试

create table my_table (id integer); CREATE TABLE
复制

问题解决!

3.2、[28000] FATAL: The account has been locked.

【原因】
原因是由于多次密码输入错误,导致用户被锁。
【解决】
解锁即可

# 解锁 omm=# alter user tom account unlock; ALTER ROLE # 需要的也可以重置密码 postgres=# alter user tom password 'xxx'; ALTER ROLE
复制
最后修改时间:2021-11-02 21:06:40
「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论

墨天轮福利君
暂无图片
3年前
评论
暂无图片 1
您好,您的文章已入选合格奖,10墨值奖励已经到账请查收! ❤️我们还会实时派发您的流量收益。
3年前
暂无图片 1
1
一叶扁舟
暂无图片
3年前
回复
暂无图片 1
好滴,已经收到了,完美✌️
3年前
暂无图片 1
回复