欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

MySQL數(shù)據(jù)庫遷移OpenGauss數(shù)據(jù)庫解析

 更新時間:2022年09月27日 14:33:00   作者:shenyang1026  
這篇文章主要介紹了MySQL數(shù)據(jù)庫遷移OpenGauss數(shù)據(jù)庫解析,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教

環(huán)境

華為云服務(wù)器 4核 8G CentOS 8.0 64位

  • JDK11
  • Data Grip
  • xshell
  • xftp
  • mysql 8

安裝OpenGauss

1.此次安裝基于Docker進(jìn)行安裝

docker安裝步驟自行解決

# 基于docker進(jìn)行安裝
$ docker run --name opengauss --privileged=true -p 5432:5432 -d -e GS_PASSWORD=Enmo@123 enmotech/opengauss:latest

# 解釋:-p 5432:5432 表示外部5432端口映射到容器中的5432端口
# GS_PASSWORD=Enmo@123 表示使用數(shù)據(jù)庫連接密碼為Enmo@123
# 這里我試過修改成其他密碼但是都連接不上,具體為什么還不知道

注意:docker run時會自動下載對應(yīng)的鏡像,所以安裝完docker直接執(zhí)行即可。另外執(zhí)行完這個命令后數(shù)據(jù)庫就已經(jīng)啟動了,可以嘗試用第三方工具來連接數(shù)據(jù)庫(例如DataGrip),注意要放行端口確保安全組和防火墻都是放行的。

2.DataGrip連接數(shù)據(jù)庫

其實高斯數(shù)據(jù)庫就是基于Postgres數(shù)據(jù)庫實現(xiàn)的,使用datagrip連接數(shù)據(jù)庫時數(shù)據(jù)源可以直接選擇postgres即可,后續(xù)代碼中使用的jdbc也可以直接使用postgres

host:ip地址

port:默認(rèn)5432

創(chuàng)建并導(dǎo)入數(shù)據(jù)

3.新建數(shù)據(jù)庫

我們在postgres下新建一個名為it_service的數(shù)據(jù)庫

這里新建可以使用sql語句也可以使用可視化工具

4.在it_service數(shù)據(jù)庫下創(chuàng)建并導(dǎo)入所有項目必要數(shù)據(jù)

直接將sql文件導(dǎo)入datagrip中,并執(zhí)行即可

這里需要特別注意,高斯數(shù)據(jù)庫中的數(shù)據(jù)類型和語法和mysql中的語法有很多區(qū)別。

下面羅列幾種常見的需要修改的語法:

  • 高斯數(shù)據(jù)庫中對字段不需要使用``來包裹
  • 高斯數(shù)據(jù)庫中沒有datetime數(shù)據(jù)類型 取而代之的是date數(shù)據(jù)類型
  • 高斯數(shù)據(jù)庫中沒有tinyint數(shù)據(jù)類型,這里可以直接使用integer代替
  • 高斯數(shù)據(jù)庫中沒有sysdate() 函數(shù),可以用 now()代替
  • 高斯數(shù)據(jù)庫中創(chuàng)建約束索引、自增的語法不同,我是通過datagrip的可視化配置來創(chuàng)建索引的

修改后端項目

由于將數(shù)據(jù)庫從mysql切換到高斯數(shù)據(jù)庫,我們項目中配置的datasource參數(shù)就需要進(jìn)行相應(yīng)的改變

1.在maven中加入postgres依賴(前面提到過,高斯數(shù)據(jù)庫是基于postgres實現(xiàn)的,所以直接導(dǎo)入postgres依賴即可)

<dependency>
    <groupId>org.postgresql</groupId>
    <artifactId>postgresql</artifactId>
    <version>42.3.4</version>
</dependency>

2.修改application.yml

spring:
  datasource:
    username: ${賬號}
    password: ${密碼}
    url: jdbc:postgresql://${ip地址}:${端口號}/postgres
    driver-class-name: org.postgresql.Driver
# ${} 中的內(nèi)容需要自己填寫

3.修改xxxMapper.xml中高斯數(shù)據(jù)庫不兼容的語法

部署后端項目

1.本地使用maven package打包

2.打包后將target目錄下生成.jar文件上傳到云服務(wù)器上(可以使用xftp等工具)

3.運行并測試啟動是否正常

$ java -jar itservice-server-0.0.1-SNAPSHOT.jar

4.使用postman等工具訪問并測試

5.確認(rèn)無誤后 CTRL+C關(guān)閉當(dāng)前程序,并使用后臺啟動

$ nohup java -jar itservice-server-0.0.1-SNAPSHOT.jar &

部署前端項目

基于docker進(jìn)行部署vue項目

1.下載nginx鏡像

$ docker pull nginx:latest

2.編寫nginx配置文件

worker_processes auto;

events {
? ? worker_connections 1024;
}

http {
?include ? ? ? ? ? ? mime.types;
?? ??? ?
?default_type ? ? ? ?application/octet-stream;
?#開啟文件傳輸服務(wù)?? ?
?sendfile ? ? ? ? ? ?on;
?#設(shè)置保持鏈接時間
?keepalive_timeout 65;
?
?client_max_body_size 20m;
?
? ? server {
? ? ? ? listen ? ? ? 80;
? ? ? ? server_name ?localhost;
? ? ? ? location / {
?? ??? ??? ?root /usr/share/nginx/html/it-service; #配置Vue項目根路徑,與
?? ??? ??? ?index index.html index.html; #配置首頁
?? ??? ??? ?try_files $uri $uri/ /index.html; #防止刷新報404
?? ??? ?}

? ? ? ? error_page 500 502 503 504 /50x.html;
? ? ? ? ? ? location = /50x.html {
?? ??? ??? ?root html;
? ? ? ? }
? ? }
}

3.編寫Dockerfile文件

FROM nginx
# 將dist目錄 拷貝到 容器中的 it-service目錄下(注意這個it-service目錄必須和上面nginx配置文件中的映射路徑相同)
COPY dist/.  /usr/share/nginx/html/it-service/
# 將nginx的配置文件 替換掉 容器中的配置文件(注意這里是直接替換的nginx.conf),也就是說我們寫的conf文件必須是完整的一個nginx配置文件
COPY default.conf  /etc/nginx/nginx.conf

4.制作鏡像

$ docker build -t itservice-nginx .

5.啟動容器

$ docker run -d -p 80:80 itservice-nginx

6.訪問測試

以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。

相關(guān)文章

最新評論