
一、概述
1.1、什么是MogDB
MogDB 是 EnMotech openGauss DataBase Enterprise Edition 的縮寫,是云和恩墨以華為 openGauss 開源數據庫為基礎,投入研發力量,圍繞高可用、安全、自動化運維、數據庫一體機、SQL審核優化等企業需求推出的整體解決方案。云和恩墨致力于發揮企業自身優勢,優先支持鯤鵬算力,在 openGauss 的運維服務、平臺工具等方向為用戶提供可信賴的企業級服務和產品,為 openGauss 的開源生態持續貢獻力量。
1.2、了解更多
更多關于MogDB的科普,請參看????
二、入門實操
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進行舉報,并提供相關證據,一經查實,墨天輪將立刻刪除相關內容。





