本篇內(nèi)容主要講解“Serverless MySQL數(shù)據(jù)庫怎么部署”,感興趣的朋友不妨來看看。本文介紹的方法操作簡單快捷,實用性強。下面就讓小編來帶大家學(xué)習(xí)“Serverless MySQL數(shù)據(jù)庫怎么部署”吧!
創(chuàng)新互聯(lián)建站公司2013年成立,先為懷遠(yuǎn)等服務(wù)建站,懷遠(yuǎn)等地企業(yè),進(jìn)行企業(yè)商務(wù)咨詢服務(wù)。為懷遠(yuǎn)企業(yè)網(wǎng)站制作PC+手機+微官網(wǎng)三網(wǎng)同步一站式服務(wù)解決您的所有建站問題。
TDSQL-C Serverless(MySQL 數(shù)據(jù)庫),具備完全自動化的擴(kuò)容能力,能夠隨著用戶業(yè)務(wù)的請求數(shù)的增加和減少,智能化“膨脹”和“縮小”,實現(xiàn)資源的自動“吞吐”。從此以后,開發(fā)者可以真正的完成 Serverless 應(yīng)用的開發(fā),專注于業(yè)務(wù)本身,免除運維,按需付費,享受 Serverless 架構(gòu)帶來的眾多優(yōu)勢。
另外,TDSQL-C Serverless數(shù)據(jù)庫在試用期間完全免費。
自動駕駛(Autopilot):
數(shù)據(jù)庫根據(jù)業(yè)務(wù)負(fù)載自動啟動停止,無感擴(kuò)縮容,擴(kuò)縮容過程不會斷開連接。
按使用計費(Utility Pricing):
按實際使用的計算和存儲量計費,不用不付費,按秒計量,按小時結(jié)算。
開發(fā)、測試環(huán)境等低頻數(shù)據(jù)庫使用場景。
物聯(lián)網(wǎng)(IoT)、邊緣計算等不確定負(fù)載場景。
中小企業(yè)建站等 SaaS 應(yīng)用場景。
下面的教程將以 Node.js 開發(fā)語言的函數(shù),指導(dǎo)您如何快速創(chuàng)建 TDSQL-C Serverless MySQL 實例,并在云函數(shù)中進(jìn)行調(diào)用:
配置環(huán)境變量
配置私有網(wǎng)絡(luò):通過 Serverless Framework VPC 組件 創(chuàng)建 VPC 和 子網(wǎng),支持云函數(shù)和數(shù)據(jù)庫的網(wǎng)絡(luò)打通和使用。
配置 Serverless DB:通過 Serverless Framework Cynosdb 組件 創(chuàng)建 MySQL 實例,為云函數(shù)項目提供數(shù)據(jù)庫服務(wù)。
編寫業(yè)務(wù)代碼:通過 Serverless DB SDK 調(diào)用數(shù)據(jù)庫,云函數(shù)支持直接調(diào)用 Serverless DB SDK,連接 PostgreSQL 數(shù)據(jù)庫進(jìn)行管理操作。
部署應(yīng)用:通過 Serverless Framework 部署項目至云端,并通過云函數(shù)控制臺進(jìn)行測試。
移除項目:可通過 Serverless Framework 移除項目。
在本地建立目錄,用于存放代碼及依賴模塊。本文以 test-MySQL
文件夾為例。
mkdir test-MySQL && cd test-MySQL
由于目前 TDSQL-C Serverless 只支持 ap-beijing-3
,ap-guangzhou-4
,ap-shanghai-2
和 ap-nanjing-1
四個區(qū)域,所以這里還需要配置下,只需要在項目根目錄下創(chuàng)建 .env
文件,然后配置 REGION
和 ZONE
兩個環(huán)境變量:
# .env REGION=xxx ZONE=xxx
在 test-MySQL
目錄下創(chuàng)建文件夾 VPC
。
mkdir VPC && cd VPC
同時在 VPC
中新建 serverless.yml 文件,使用 VPC 組件完成私有網(wǎng)絡(luò)和子網(wǎng)的創(chuàng)建。
serverless.yml
示例內(nèi)容如下,全量配置參考產(chǎn)品文檔
#serverless.yml org: mysql-app app: mysql-app stage: dev component: vpc # (required) name of the component. In that case, it's vpc. name: mysql-app-vpc # (required) name of your vpc component instance. inputs: region: ${env:REGION} zone: ${env:ZONE} vpcName: serverless-mysql subnetName: serverless-mysql
在 test-MySQL
下創(chuàng)建文件夾 DB
,并在 DB
文件夾下新建 serverless.yml
文件,并輸入以下內(nèi)容,通過 Serverless Framework 組件完成云開發(fā)環(huán)境配置。
serverless.yml
示例內(nèi)容如下,全量配置參考產(chǎn)品文檔
# serverless.yml org: mysql-app app: mysql-app stage: dev component: cynosdb name: mysql-app-db inputs: region: ${env:REGION} zone: ${env:ZONE} vpcConfig: vpcId: ${output:${stage}:${app}:mysql-app-vpc.vpcId} subnetId: ${output:${stage}:${app}:mysql-app-vpc.subnetId}
在 test-MySQL
下創(chuàng)建文件夾 src
,用于存放業(yè)務(wù)邏輯代碼和相關(guān)依賴項。并在 src
文件夾下創(chuàng)建文件 index.js
,輸入如下示例代碼。在函數(shù)中通過 SDK 連接數(shù)據(jù)庫,并在其中完成 MySQL 數(shù)據(jù)庫的調(diào)用。
exports.main_handler = async (event, context, callback) => { var mysql = require('mysql2'); var connection = mysql.createConnection({ host : process.env.HOST, user : 'root', password : process.env.PASSWORD }); connection.connect(); connection.query('SELECT 1 + 1 AS solution', function (error, results, fields) { if (error) throw error; console.log('The solution is: ', results[0].solution); }); connection.end(); }
安裝所需依賴模塊:
npm install mysql2
完成業(yè)務(wù)代碼編寫和依賴安裝后,創(chuàng)建 serverless.yml
文件,示例文件如下:
org: mysql-app app: mysql-app stage: dev component: scf name: mysql-app-scf inputs: src: ./ functionName: ${name} region: ${env:REGION} runtime: Nodejs10.15 timeout: 30 vpcConfig: vpcId: ${output:${stage}:${app}:mysql-app-vpc.vpcId} subnetId: ${output:${stage}:${app}:mysql-app-vpc.subnetId} environment: variables: HOST: ${output:${stage}:${app}:mysql-app-db.connection.ip} PASSWORD: ${output:${stage}:${app}:mysql-app-db.adminPassword}
完成創(chuàng)建后,項目目錄結(jié)構(gòu)如下:
./test-MySQL ├── vpc │ └── serverless.yml # vpc 配置文件 ├── db │ └── serverless.yml # db 配置文件 ├── src │ ├── serverless.yml # scf 組件配置文件 │ ├── node_modules # 項目依賴文件 │ └── index.js # 入口函數(shù) └── .env # 環(huán)境變量文件
使用命令行在 test-MySQL
下,執(zhí)行以下命令進(jìn)行部署。
sls deploy
部署時需要掃碼授權(quán),如果沒有騰訊云賬號,請 注冊新賬號。
如果是子賬號,請參考子賬號權(quán)限配置完成授權(quán)
返回結(jié)果如下所示,即為部署成功。
mysql-app-vpc: region: xxx zone: xxx vpcId: xxxx-xxx ... mysql-app-db: dbMode: xxxx region: xxxx zone: xxxx ... mysql-app-scf: functionName: xxxx description: xxx ... 59s ? test-MySQL ? "deploy" ran for 3 apps successfully.
部署成功后,您可通過 云函數(shù)控制臺,查看并進(jìn)行函數(shù)調(diào)試,測試成功如下圖所示:
在 test-MySQL
目錄下,執(zhí)行以下命令可移除項目。
sls remove
返回如下結(jié)果,即為成功移除。
serverless ? framework 4s ? test-MySQL ? Success
除了通過組件一鍵創(chuàng)建所有資源外,您也可以通過控制臺完成 Serverless 版本 MySQL 數(shù)據(jù)庫的創(chuàng)建,并在云函數(shù)中正常使用 SDK 的方式完成調(diào)用。
到此,相信大家對“Serverless MySQL數(shù)據(jù)庫怎么部署”有了更深的了解,不妨來實際操作一番吧!這里是創(chuàng)新互聯(lián)網(wǎng)站,更多相關(guān)內(nèi)容可以進(jìn)入相關(guān)頻道進(jìn)行查詢,關(guān)注我們,繼續(xù)學(xué)習(xí)!
新聞標(biāo)題:ServerlessMySQL數(shù)據(jù)庫怎么部署
轉(zhuǎn)載來于:http://aaarwkj.com/article44/igdhee.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供自適應(yīng)網(wǎng)站、ChatGPT、網(wǎng)站導(dǎo)航、網(wǎng)站排名、品牌網(wǎng)站建設(shè)、網(wǎng)站維護(hù)
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)