數(shù)據(jù)庫運維
堡壘機支持對MySQL、SQL Server、PostgreSQL類型的RDS和MySQL、PostgreSQL、PostgreSQL(兼容Oracle)的PolarDB以及MySQL、SQL Server、PostgreSQL、Oracle類型的自建數(shù)據(jù)庫進行運維和審計,同時運維人員可開啟SSH隧道,使用運維令牌進行運維審計。本文介紹在Window系統(tǒng)上如何運維數(shù)據(jù)庫。
前提條件
已在本地主機安裝支持SSH隧道的數(shù)據(jù)庫運維工具,例如DBeaver、DbVisualizer、Navicat Premium、Navicat For MySQL等。
已獲取堡壘機運維地址。您可以在堡壘機概覽頁面的堡壘機實例信息區(qū)域獲取運維地址。具體操作,請參見堡壘機頁面概覽。
說明堡壘機提供固定的域名模式運維地址,同時使用動態(tài)IP以確保安全不易被攻擊。運維地址解析出的IP可能會發(fā)生變化,請您使用堡壘機分配的域名地址進行運維,避免因IP變化而無法運維。
通過客戶端工具進行SSH隧道運維
本文以Navicat Premium工具為例,介紹不同類型的數(shù)據(jù)庫在Windows系統(tǒng)的運維登錄流程。
登錄堡壘機控制臺或運維門戶,獲取運維令牌。具體操作,請參見獲取運維令牌。
說明登錄運維門戶獲取運維令牌時,如果當前數(shù)據(jù)庫賬戶未在堡壘機上托管,則需要在運維令牌對話框配置數(shù)據(jù)庫賬戶的基本信息后,才能獲取運維令牌。關(guān)于新建數(shù)據(jù)庫賬戶的更多信息,請參見管理數(shù)據(jù)庫賬戶。
運維令牌需要在有效期內(nèi)使用,管理員可以在堡壘機設(shè)置令牌有效期。若開啟運維審批,則以管理員審批通過時設(shè)置的有效期為準。
如果管理員設(shè)置允許運維員自主續(xù)期,則令牌過期前,運維員可以自主為令牌續(xù)期,過期之后需要重新申請令牌。若已開啟運維審批,則運維員不可進行續(xù)期。運維令牌配置修改后需要重新申請或更新令牌才可生效。
若令牌在有效期內(nèi)但運維連接失敗,可能為運維并發(fā)已達到上限,請聯(lián)系管理員升配堡壘機規(guī)格或釋放空閑連接;或管理員限制了該來源IP和時間段導致無法運維,請聯(lián)系管理員解除限制。
審計記錄的運維用戶信息為申請令牌的用戶,與客戶端中所填用戶名和資產(chǎn)賬戶無關(guān)。
打開Navicat Premium工具,新建目標數(shù)據(jù)庫連接。
在常規(guī)頁簽,按照下表配置數(shù)據(jù)庫的連接名稱、資產(chǎn)地址等信息。
配置項
說明
主機
數(shù)據(jù)庫資產(chǎn)地址。
用戶名
需要運維的數(shù)據(jù)庫資產(chǎn)賬戶登錄名稱。
密碼
MySQL、SQL Server、PostgreSQL數(shù)據(jù)庫:如果管理員已在堡壘機中托管了數(shù)據(jù)庫賬戶密碼,則無需填寫密碼;如果管理員未在堡壘機中托管數(shù)據(jù)庫賬戶密碼,則密碼需填寫數(shù)據(jù)庫賬戶的登錄密碼。
Oracle數(shù)據(jù)庫:
如果管理員已在堡壘機中托管數(shù)據(jù)庫賬戶密碼,則密碼填寫為123456,登錄屬性按照運維令牌處提示進行選擇。
如果管理員未在堡壘機中托管數(shù)據(jù)庫賬戶密碼,則密碼需填寫數(shù)據(jù)庫賬戶的登錄密碼,登錄屬性按照運維令牌處提示進行選擇。
說明 建議您勾選保存密碼,如果未勾選,客戶端可能會要求您填寫賬戶密碼,您可以將運維令牌填寫在密碼處。在SSH頁簽,按照下表配置堡壘機的基礎(chǔ)信息。
配置項
說明
使用SSH通道
勾選使用SSH通道。
主機
堡壘機運維地址。
端口
堡壘機SSH運維端口。默認為60022。
用戶名
運維員登錄堡壘機的用戶名稱。
密碼
獲取的運維令牌。
說明 建議您勾選保存密碼,如果未勾選,客戶端可能會要求您填寫賬戶密碼,您可以將運維令牌填寫在密碼處。
在Navicat Premium工具中,雙擊新創(chuàng)建的數(shù)據(jù)庫連接,登錄數(shù)據(jù)庫資產(chǎn)進行運維。
通過命令行進行SSH隧道運維
本文以MySQL協(xié)議為例,介紹命令行SSH隧道方式的運維登錄流程。
暫不支持通過命令行SSH隧道方式運維Oracle數(shù)據(jù)庫。
登錄運維門戶。具體操作,請參見登錄運維門戶。
在左側(cè)導航欄,單擊數(shù)據(jù)庫。
在數(shù)據(jù)庫頁面,定位到目標數(shù)據(jù)庫,在運維令牌列,單擊對應的運維令牌。
在運維令牌對話框,選擇數(shù)據(jù)庫賬戶,單擊獲取運維令牌。
說明登錄運維門戶獲取運維令牌時,如果當前數(shù)據(jù)庫賬戶未在堡壘機上托管,則需要在運維令牌對話框配置數(shù)據(jù)庫賬戶的基本信息后,才能獲取運維令牌。關(guān)于新建數(shù)據(jù)庫賬戶的更多信息,請參見管理數(shù)據(jù)庫賬戶。
運維令牌需要在有效期內(nèi)使用,管理員可以在堡壘機設(shè)置令牌有效期。若開啟運維審批,則以管理員審批通過時設(shè)置的有效期為準。
如果管理員設(shè)置允許運維員自主續(xù)期,則令牌過期前,運維員可以自主為令牌續(xù)期,過期之后需要重新申請令牌。若已開啟運維審批,則運維員不可進行續(xù)期。運維令牌配置修改后需要重新申請或更新令牌才可生效。
若令牌在有效期內(nèi)但運維連接失敗,可能為運維并發(fā)已達到上限,請聯(lián)系管理員升配堡壘機規(guī)格或釋放空閑連接;或管理員限制了該來源IP和時間段導致無法運維,請聯(lián)系管理員解除限制。
審計記錄的運維用戶信息為申請令牌的用戶,與客戶端中所填用戶名和資產(chǎn)賬戶無關(guān)。
打開命令行工具,執(zhí)行以下命令。
ssh -N -L <localport>:<databaseAddress>:<databasePort> <bastionusername>@<bastionAddress> -p <bastionPort>
參數(shù)說明
參數(shù)
說明
localport
建立隧道后自定義本地監(jiān)聽的端口。請確認與本地已有監(jiān)聽端口不存在沖突。
databaseAddress
需要運維的數(shù)據(jù)庫資產(chǎn)的地址。
databasePort
需要運維的數(shù)據(jù)庫資產(chǎn)的端口。
bastionusername
云堡壘機的用戶名。
bastionAddress
云堡壘機的運維地址。
bastionPort
云堡壘機SSH運維的端口。默認為60022。
在密碼認證步驟,輸入運維令牌,然后按回車鍵。
另起一個命令行,確認本地自定義端口處于已監(jiān)聽狀態(tài),LISTEN表示已監(jiān)聽。
執(zhí)行以下命令,連接MySQL數(shù)據(jù)庫。
mysql -h 127.0.0.1 -u <accountname> -P <localport>
<accountname>為必選參數(shù),
accountname
是運維的數(shù)據(jù)庫登錄賬戶名。<localport>為必選參數(shù),
localport
是步驟5定義的本地監(jiān)聽端口。
連接成功后,即可執(zhí)行運維命令。