在統信UOS上二進位安裝GreatSQL

来源:https://www.cnblogs.com/greatsql/archive/2023/02/20/17136284.html
-Advertisement-
Play Games

GreatSQL社區原創內容未經授權不得隨意使用,轉載請聯繫小編並註明來源。 GreatSQL是MySQL的國產分支版本,使用上與MySQL一致。 作者:vatebur 文章來源:GreatSQL社區投稿 UOS二進位安裝資料庫和其他 Linux 基本一樣,網上命令行安裝的教程很多。考慮到 UOS ...


  • GreatSQL社區原創內容未經授權不得隨意使用,轉載請聯繫小編並註明來源。
  • GreatSQL是MySQL的國產分支版本,使用上與MySQL一致。
  • 作者:vatebur
  • 文章來源:GreatSQL社區投稿

UOS二進位安裝資料庫和其他 Linux 基本一樣,網上命令行安裝的教程很多。考慮到 UOS 自帶圖形化界面,為了降低一點安裝門檻,本文儘量使用圖形化界面安裝。
純命令行安裝可以參考:https://greatsql.cn/docs/user-manual/3-quick-start/3-2-quick-start-with-tarball.html

本文直接把 GreatSQL 安裝在了用戶目錄(非root),用普通用戶的許可權運行,沒有新創建專門給資料庫用的用戶和組。

系統環境

系統版本:統信UOS家庭版22.0

下載地址:https://www.chinauos.com/resource/download-home

註:UOS家庭版只有amd64(x86_64) 版本,glibc2.28。
如果您不知道系統架構或者glibc版本,可以調到文章尾部 查看glib版本和系統架構部分。

下載和解壓

下載

下載 GreatSQL 二進位安裝包:https://gitee.com/GreatSQL/GreatSQL/releases

在頁面里找到 Linux - Generic 的表格:

Linux - Generic

Packages Size
GreatSQL-8.0.25-16-Linux-glibc2.17-x86_64-minimal.tar.xz 40M
GreatSQL-8.0.25-16-Linux-glibc2.17-x86_64-minimal.tar.xz.md5 33B
GreatSQL-8.0.25-16-Linux-glibc2.17-x86_64.tar.xz 507M
GreatSQL-8.0.25-16-Linux-glibc2.17-x86_64.tar.xz.md5 33B
GreatSQL-8.0.25-16-Linux-glibc2.17-aarch64-minimal.tar.xz 35M
GreatSQL-8.0.25-16-Linux-glibc2.17-aarch64-minimal.tar.xz.md5 33B
GreatSQL-8.0.25-16-Linux-glibc2.17-aarch64.tar.xz 296M
GreatSQL-8.0.25-16-Linux-glibc2.17-aarch64.tar.xz.md5 33B
GreatSQL-8.0.25-16-Linux-glibc2.28-x86_64-minimal.tar.xz 41M
GreatSQL-8.0.25-16-Linux-glibc2.28-x86_64-minimal.tar.xz.md5 33B
GreatSQL-8.0.25-16-Linux-glibc2.28-x86_64.tar.xz 534M
GreatSQL-8.0.25-16-Linux-glibc2.28-x86_64.tar.xz.md5 33B
GreatSQL-8.0.25-16-Linux-glibc2.28-aarch64-minimal.tar.xz 34M
GreatSQL-8.0.25-16-Linux-glibc2.28-aarch64-minimal.tar.xz.md5 33B
GreatSQL-8.0.25-16-Linux-glibc2.28-aarch64.tar.xz 300M
GreatSQL-8.0.25-16-Linux-glibc2.28-aarch64.tar.xz.md5 33B

看到這裡有這麼多包不要頭疼,根據自己的架構選擇就行了,UOS家庭版下 glibc2.28-x86_64 版本的就好。
如果不確定自己glibc版本和系統架構,可以跳到文章尾部的 查看glib版本和系統架構部分。

可以 Ctrl+F查找一下glibc2.28-x86_64 ,如下表顯示 查找出來就是就只剩下 2個 二進位包和對應的 MD5文件。倆個二進位包,一個是標準版,另一個是 minimal 版的,如果沒有特殊需求下標準包就好了。

Packages Size
GreatSQL-8.0.25-16-Linux-glibc2.28-x86_64-minimal.tar.xz 41M
GreatSQL-8.0.25-16-Linux-glibc2.28-x86_64-minimal.tar.xz.md5 33B
GreatSQL-8.0.25-16-Linux-glibc2.28-x86_64.tar.xz 534M
GreatSQL-8.0.25-16-Linux-glibc2.28-x86_64.tar.xz.md5 33B

註:

minimal 的安裝包是對二進位文件進行strip後,所以文件尺寸較小,功能上沒本質區別,僅是不支持gdb debug功能,可以放心使用。

MD5文件用來校驗下載的壓縮包是否完整,在文章結尾有介紹 MD5 文件的用法。

解壓

下載完解壓,並移動到想要安裝的文件夾。我這裡將文件夾解壓並改名到了用戶的 主目錄。

截圖_dde-file-manager_20230117093415

image-20230117163750870

目錄規劃

$USER 為用戶名,如果不知道用戶名,可以在終端執行 echo $USER查看。

目錄可以選擇自己想要的地方安裝,保證使用的用戶有許可權即可。

目錄/文件 作用
/hone/$USER/my.cnf MySQL全局配置文件
/hone/$USER/local/mysql basedir(MySQL主程式目錄)
/hone/$USER/mysql/data/datadir datadir(數據目錄)
/hone/$USER/mysql/data/binlog binary logs(顧名思義,binlog文件目錄)
/hone/$USER/mysql/data/backup 備份文件目錄
/tmp/mysql tmpdir(臨時文件目錄)
/hone/$USER/mysql/data/mysql.sock socket (socke文件地址,登錄用的)
/hone/$USER/mysql/data/error.log log_error(錯誤日誌)

創建 my.cnf 文件

在文件管理器的設置里打開"顯示隱藏文件"選項。

image-20230117171603533

在用戶目錄,創建文本文件並改名成 .my.cnf ,並用文本編輯器編輯。因為 .開頭的文件是隱藏文件,所以要先打開"顯示隱藏文件"選項。

image-20230117170610466

image-20230117170627482

打開 my.cnf文件並編輯,註意文件的的$USER要換成對應的用戶名,如果安裝在其他目錄對應的地方也要跟著改。

[client]
socket=/home/$USER/GreatSQL/data/mysql.sock

[mysqld]
basedir=/home/$USER/GreatSQL
datadir=/home/$USER/GreatSQL/data/datadir
socket=/home/$USER/GreatSQL/data/mysql.sock
port=3306

character-set-server=UTF8MB4
default_time_zone="+8:00"
#secure_file_priv=/home/$USER/GreatSQL/data/tmp
#tmpdir=/home/$USER/GreatSQL/data/tmp
log_error=/home/$USER/GreatSQL/data/error.log
slow_query_log=1
log_bin=/home/$USER/GreatSQL/data/binlog

創建文件夾

.my.cnf 中出現的文件夾都創建好,在GreatSQL文件夾里創建 data/datadir data/binlog 文件夾。

image-20230117174622250

創建環境變數

打開用戶目錄下的 .profile 文件,在最底下加入一行:

這行的意思是,是把 bin 目錄下的可執行文件加入到環境變數,bin目錄的位置要根據實際情況修改。

#這裡的$USER要改成對應的用戶名
PATH=$PATH:/home/$user/GreatSQL/bin

image-20230117171939022

改完保存並退出,然後註銷用戶(註銷前記得先保存文件),環境變數就能生效了。

或者在終端執行

source ~/.profile

初始化資料庫

接下來就要打開終端操作了。

打開終端,執行以下命令初始化資料庫。

# $USER記得改成自己的用戶名
~/GreatSQL/bin/mysqld --defaults-file=/home/$USER/.my.cnf --initialize --user=$USER --console

執行好後通過 error.log 查看初始密碼:

 cat ~/GreatSQL/data/error.log 

以下是 error.log 里的內容:

 2023-01-17T07:09:14.152937Z 0 [System] [MY-013169] [Server] /home/vatebur/GreatSQL/bin/mysqld (mysqld 8.0.25-16) initializing of server in progress as process 18811
2023-01-17T07:09:14.162050Z 1 [System] [MY-013576] [InnoDB] InnoDB initialization has started.
2023-01-17T07:09:15.166216Z 1 [System] [MY-013577] [InnoDB] InnoDB initialization has ended.
2023-01-17T07:09:16.890414Z 6 [Note] [MY-010454] [Server] A temporary password is generated for root@localhost: yShKokm2-&,q

可以看到最後一行 里的 root@localhost:後面跟的 就是初始密碼。

啟動資料庫

執行以下命令就可以啟動資料庫了,註意$USER記得改,路徑要對。

#所有的$USER都要替換掉
/home/$USER/GreatSQL/bin/mysqld --defaults-file=/home/$USER/.my.cnf --user=$USER &

修改密碼

登陸資料庫並修改密碼,初始密碼就是在error.log里看到的那個。

#登錄 GreatSQL
mysql -uroot -p

#改密碼,password換成你自己的密碼
mysql> ALTER user 'root'@'localhost' IDENTIFIED BY 'password';

#刷新一下許可權
mysql> FLUSH PRIVILEGES;

使用 Navicat 連接時,會報 Socket 錯誤,因為 Navicat 預設的 Socket 目錄位置不對。

要到高級里,指定一下 Socket 的位置。Socket 的位置在上文的 my.cnf 中可以查看。

image-20230118111018657

image-20230118110434927

MD5 文件用法

在控制台,執行命令 md5sum 文件就能算出壓縮包的md5,將算出來的 MD5 值與 MD5 文件里的值進行比對,如果一致說明文件完整。

md5sum ./GreatSQL-8.0.25-16-Linux-glibc2.28-x86_64.tar.xz
$ ls
GreatSQL-8.0.25-16-Linux-glibc2.28-x86_64.tar.xz
GreatSQL-8.0.25-16-Linux-glibc2.28-x86_64.tar.xz.md5

$ cat GreatSQL-8.0.25-16-Linux-glibc2.28-x86_64.tar.xz.md5 
f5cf4b4ee2a50234c49ec0cf7b5b085d

$ md5sum GreatSQL-8.0.25-16-Linux-glibc2.28-x86_64.tar.xz
f5cf4b4ee2a50234c49ec0cf7b5b085d  GreatSQL-8.0.25-16-Linux-glibc2.28-x86_64.tar.xz

查看glib版本和系統架構

查看glib版本

在終端輸入以下命令即可查看:

ldd --version
$ ldd --version

ldd (Debian GLIBC 2.28.21-1+deepin-1) 2.28
Copyright (C) 2018 自由軟體基金會。
這是一個自由軟體;請見源代碼的授權條款。本軟體不含任何沒有擔保;甚至不保證適銷性
或者適合某些特殊目的。
由 Roland McGrath 和 Ulrich Drepper 編寫。

可以看到,這裡的glibc版本是2.28。

查看系統架構

在終端輸入以下命令即可查看:

uname -m
$ ldd --version

x86_64

Enjoy GreatSQL

您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • CM4 Sensing是一款基於Raspberry Pi / 樹莓派 計算模塊4(簡稱CM4),由 EDATEC 為物聯網和數據採集應用而設計的工業電腦。它充分利用了CM4的結構靈活性,解決了CPU、無線模塊和PMU的散熱問題。外置天線提高了無線通信的可靠性。 ...
  • 一、簡介 • SQLite是一個輕型的資料庫,無需任何服務,無需任何配置的綠色資料庫。 • SQLite是一個進程內庫,它實現了一個自包含、無伺服器、零配置、事務性SQL資料庫引擎。SQLite的代碼在公共域中,因此可以免費用於任何目的,無論是商業還是私有。 二、安裝包 • 官方下載地址 • 此處下 ...
  • MongoDB vs Elasticsearch | | MongoDB | ElasticSearch | 備註 | | | | | | | 定位 | (文檔型)資料庫 | (文檔型)搜索引擎 | 一個管理數據,一個檢索數據 | | 資源占用 | 一般 | 高 | mongo使用c++, es使用 ...
  • EXISTS語法解析 EXISTS 運算符用於判斷查詢子句是否有記錄,如果有一條或多條記錄存在返回 True,否則返回 False。 比如說下邊的語法,子查詢中的column_name可以和主查詢中的列名字不一樣,因為子查詢只返回yes or no。 subquery 是一個受限的 SELECT 語 ...
  • 摘要:集群運行過程中,根據集群的綜合負載和業務接入情況進行分析:增加CN可以適當降低CPU消耗,增大接入連接數,分散CN節點業務壓力,根據實際情況來識別是否要增加CN,如果是提升集群容量和擴展比能力,建議進行擴容操作。 本文分享自華為雲社區《【玩轉PB級數倉GaussDB(DWS)】線上運維-線上增 ...
  • 在當前的數字化轉型浪潮下,“基礎設施、配套設備、應用探索”的數字校園1.0階段即將步入尾聲、亦或已經完結,不同地區和類型的高校通過各類信息化系統和基礎設施已經初步實現了業務數字化,整個數字校園的信息基礎設施底座已有一定基礎、信息時代教育治理新模式正在逐步呈現、信息技術支持科研創新初見成效。 接下來, ...
  • 今天非常的倒霉,因為學習了Vue的相關知識,想自己寫一個後端伺服器來練習一下Vue 然後 忘記了Docker中Mysql的密碼。。。 很抽象 下麵是我的解決方法 一、如果在本地的Navicat Premium上連接過資料庫,就可以使用工具導出連接 二、用編輯器打開導出的鏈接文件 就可以看到 用戶名、 ...
  • 一:背景 1. 講故事 相信大家在使用 SQLSERVER 的過程中經常會遇到 阻塞 和 死鎖,尤其是 死鎖,比如下麵的輸出: (1 row affected) Msg 1205, Level 13, State 51, Line 5 Transaction (Process ID 62) was ...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...