掃二維碼與項目經理溝通
我們在微信上24小時期待你的聲音
解答本文疑問/技術咨詢/運營咨詢/技術建議/互聯(lián)網(wǎng)交流
隨著云計算技術的不斷發(fā)展,云數(shù)據(jù)庫已經成為了越來越多企業(yè)的選擇。使用云數(shù)據(jù)庫的好處就在于可以避免自己公司內部購置硬件和維護數(shù)據(jù)庫,從而省去大量的人力和資源,較大的提高工作效率。但是,一些企業(yè)初試云數(shù)據(jù)庫時,卻總是不知道如何進行連接部署,這也是一個很重要的步驟。本文就是為大家提供一份詳盡的。

創(chuàng)新互聯(lián)是一家集網(wǎng)站建設,臥龍企業(yè)網(wǎng)站建設,臥龍品牌網(wǎng)站建設,網(wǎng)站定制,臥龍網(wǎng)站建設報價,網(wǎng)絡營銷,網(wǎng)絡優(yōu)化,臥龍網(wǎng)站推廣為一體的創(chuàng)新建站企業(yè),幫助傳統(tǒng)企業(yè)提升企業(yè)形象加強企業(yè)競爭力。可充分滿足這一群體相比中小企業(yè)更為豐富、高端、多元的互聯(lián)網(wǎng)需求。同時我們時刻保持專業(yè)、時尚、前沿,時刻以成就客戶成長自我,堅持不斷學習、思考、沉淀、凈化自己,讓我們?yōu)楦嗟钠髽I(yè)打造出實用型網(wǎng)站。
一、準備工作
如果您的公司要使用云數(shù)據(jù)庫,那么,首先要確定應該選擇哪種云平臺,如騰訊云、阿里云等。各個云平臺之間的差異很大,需要根據(jù)自己公司的具體情況進行選擇。例如,如果公司的主要業(yè)務在中國,而使用阿里云就是更好的選擇,因為阿里云在國內擁有非常強大的網(wǎng)絡支持,可以保證用戶訪問的速度和穩(wěn)定性。還需要選擇一個適合自己的數(shù)據(jù)庫,例如MySQL、Oracle等。
準備工作包括:
1.云平臺賬戶:首先注冊云平臺賬戶,獲得ID和API密鑰,然后根據(jù)不同云平臺要求的規(guī)范將賬戶配置信息記錄在config文件中。
2.軟件環(huán)境安裝:安裝Java環(huán)境和云數(shù)據(jù)庫相關的SDK。Java環(huán)境可以直接通過鏈接https://www.oracle.com/technetwork/java/javase/downloads/index.html下載。云數(shù)據(jù)庫SDK可以根據(jù)所選云平臺下載,例如,使用阿里云那么可以訪問鏈接https://developer.aliyun.com/sdk/java。
二、代碼實現(xiàn)
云數(shù)據(jù)庫連接部署分為兩種:一種是自己本地搭建的應用連接云數(shù)據(jù)庫,另一種是云服務器即在云數(shù)據(jù)庫中建立應用,連接各自的本地數(shù)據(jù)庫。接下來將分別進行闡述。
1.本地應用連接云數(shù)據(jù)庫
要連接云數(shù)據(jù)庫,需要進行以下的操作:
a.添加Demo的依賴:
“`
“`
數(shù)據(jù)庫的連接配置可以根據(jù)不同的云平臺進行指定,例如,阿里云要進行如下的配置:
“`
String accessKeyId = “
String accessKeySecret = “
String endpoint = “http(s)://
String regionId = “
“`
創(chuàng)建連接后,就可以進行數(shù)據(jù)的操作,如下:
“`
String instanceId = “
String databaseName = “
String dbInstanceId = “
String dbClass = “
Class.forName(dbClass);
DriverManager.setLogWriter(new PrintWriter(System.out));
String jdbcURL = “jdbc:mysql://” + dbInstanceId + “.” + endpoint+ “/” +databaseName;
String userName = “
String password = “
System.out.println(“get connection begin!!”);
Connection conn = DriverManager.getConnection(jdbcURL, userName, password);
System.out.println(“get connection end”);
“`
2.云服務器連接本地數(shù)據(jù)源
現(xiàn)在假設云服務器已經安裝了MySql HTTP中間件,并配置了一個名為testmysql的本地MySql數(shù)據(jù)庫。使用此應用程序的AWS EC2實例通過中間件連接到此MySQL實例,并執(zhí)行SELECT語句以讀取聯(lián)系人數(shù)據(jù)。應用程序的包含以下組件的源代碼(全部為Java類):
1.讀取名為config.properties的配置文件以獲取阿里云密鑰對和AWS區(qū)域的住所。
2.讀取名為read.sql的SQL文件,并使用讀取語句從本地MySQL實例中檢索聯(lián)系人數(shù)據(jù)。
3.將聯(lián)系人數(shù)據(jù)的結果集轉換為ON對象,然后通過logback日志記錄。
配置文件格式:
“`
aliyun.accessKeyId=
aliyun.accessKeySecret=
aws.region=
“`
Java類:OperationClass:
“`
import java.sql.*;
import org.json.simple.ONArray;
import org.json.simple.ONObject;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import com.amazonaws.services.lambda.runtime.Context;
import com.alibaba.fastjson.ON;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.io.InputStream;
import java.util.Properties;
public class OperationClass {
private static final Logger LOGGER = LoggerFactory.getLogger(OperationClass.class);
public static ONObject getResponse() {
ONObject obj = new ONObject();
ONArray array = new ONArray();
String query = getQuery(“read.sql”);
LOGGER.info(“Get the query string: ” + query);
try (Connection conn = DriverManager.getConnection(“jdbc:mariadb://localhost/testmysql”,
“root”, “root”)) {
PreparedStatement ps = conn.prepareStatement(query);
ResultSet rs = ps.executeQuery();
while (rs.next()) {
LOGGER.info(“Got result with ID: ” + rs.getInt(1) + ” eml: ” + rs.getString(2));
ONObject temp = new ONObject();
temp.put(“id”, rs.getInt(1));
temp.put(“eml”, rs.getString(2));
array.add(temp);
}
ps.close();
rs.close();
conn.close();
} catch (SQLException e) {
e.printStackTrace();
}
obj.put(“isBase64Encoded”, false);
obj.put(“statusCode”, 200);
obj.put(“headers”, new ONObject());
obj.put(“body”, ON.toONString(array));
return obj;
}
public static String getQuery(String filename) {
String query = “”;
try (InputStream inputStream = OperationClass.class.getClassLoader().getResourceAsStream(filename)) {
if (inputStream == null) {
throw new FileNotFoundException(“SQL file not found for the query. Kindly check the file ” + filename);
} else {
try (InputStreamReader streamReader = new InputStreamReader(inputStream);
BufferedReader reader = new BufferedReader(streamReader)) {
String line;
while ((line = reader.readLine()) != null) {
query += line;
}
} catch (IOException e) {
e.printStackTrace();
}
inputStream.close();
}
} catch (IOException e) {
e.printStackTrace();
}
return query;
}
}
“`
部分方法解釋:
1.這個getResponse()方法返回一個ON文件。該文件包含:
a.statusCode – 響應狀態(tài)代碼(200表示成功)。
b.headers -用于配置響應標頭的對象。
c.body – 一個數(shù)組,每個對象表示一個聯(lián)系人,其中包含以下鍵:id和eml。
2.getConnection()方法獲取本地MySQL實例的一個連接。
三、數(shù)據(jù)庫連接測試
完成代碼后,一定要進行協(xié)議端口的加固等數(shù)據(jù)庫安全相關的操作。具體測試方法為:
1.連接已經配置完成的云數(shù)據(jù)庫,執(zhí)行一些簡單的增刪改查指令以檢驗連接是否成功。如下:
“`
mysql>use test;
mysql>CREATE TABLE cloud_connector (
-> eml varchar(20)
-> );
Query OK, 0 rows affected (0.09 sec)
mysql>insert into cloud_connector values(‘[email protected]’);
Query OK, 1 row affected (0.02 sec)
mysql>select * from cloud_connector;
+————–+
| eml |
+————–+
+————–+
1 row in set (0.00 sec)
“`
2.在本地環(huán)境下,執(zhí)行applications/ myDemo的maven clean package命令以構建MyDemo.jar文件。
3.使用scp工具將MyDemo.jar文件復制到AWS EC2實例中。
4.通過SSH連接到AWS EC2實例,并使用以下命令運行MyDemo.jar:java -jar myDemo.jar。
5.使用A Web Browser連接到部署在AWS EC2中的應用程序的URL:http://localhost:8000/app/getContacts。
6.應用程序在該頁面中顯示ON對象。
四、
云數(shù)據(jù)庫連接部署是企業(yè)使用云數(shù)據(jù)庫時的基礎部署工作。本篇文章試圖為大家提供一份操作性強的實踐指南,希望能夠對初試使用云數(shù)據(jù)庫的企業(yè)有幫助。但如果在測試中出現(xiàn)問題,一定要及時尋求相關技術人員的幫助,這樣才能確保應用程序的正常運行。
相關問題拓展閱讀:
如何在
云服務器
中安裝數(shù)據(jù)庫
隨著
IT行業(yè)
應用部署規(guī)模的日益增大,越來越多的企業(yè)使用云服務器作為單獨的數(shù)據(jù)庫應用服務器,用云服務器安裝數(shù)據(jù)庫服務。
但是很多用戶對于云服務器并不是那么了解,本文對于如何在云服務器中安裝數(shù)據(jù)庫做詳細步驟解析,以MySQL為例;同時會講述部署過程中的注意事項,以免造成數(shù)據(jù)丟失等現(xiàn)象。
在云服務器上實現(xiàn)數(shù)據(jù)庫應用的步驟如下:
1、 安裝相應的數(shù)據(jù)庫軟件如mysql;
2、 配置mysql數(shù)據(jù)庫,設置數(shù)據(jù)庫文件的存放路徑,對
配置文件
進行相應的編譯;
3、 管理數(shù)據(jù)庫的
用戶名
與密碼,避免使用弱密碼,防止被入侵;
4、 確認是否已將數(shù)據(jù)庫服務設置成開機自動啟動。
部署數(shù)據(jù)庫應用需要注意以下幾點:
1、 對數(shù)據(jù)進行備份,以免數(shù)據(jù)丟失。
2、 保證數(shù)據(jù)庫應用服務器的安全,以免黑客盜取數(shù)據(jù)或破壞數(shù)據(jù)。
關于怎么部署云數(shù)據(jù)庫連接的介紹到此就結束了,不知道你從中找到你需要的信息了嗎 ?如果你還想了解更多這方面的信息,記得收藏關注本站。
香港服務器選創(chuàng)新互聯(lián),2H2G首月10元開通。
創(chuàng)新互聯(lián)(www.cdcxhl.com)互聯(lián)網(wǎng)服務提供商,擁有超過10年的服務器租用、服務器托管、云服務器、虛擬主機、網(wǎng)站系統(tǒng)開發(fā)經驗。專業(yè)提供云主機、虛擬主機、域名注冊、VPS主機、云服務器、香港云服務器、免備案服務器等。

我們在微信上24小時期待你的聲音
解答本文疑問/技術咨詢/運營咨詢/技術建議/互聯(lián)網(wǎng)交流