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
看到這裡有這麼多包不要頭疼,根據自己的架構選擇就行了,UOS家庭版下 glibc2.28-x86_64
版本的就好。
如果不確定自己glibc版本和系統架構,可以跳到文章尾部的 查看glib版本和系統架構
部分。
可以 Ctrl+F
查找一下glibc2.28-x86_64
,如下表顯示 查找出來就是就只剩下 2個 二進位包和對應的 MD5文件。倆個二進位包,一個是標準版,另一個是 minimal 版的,如果沒有特殊需求下標準包就好了。
註:
帶 minimal 的安裝包是對二進位文件進行strip後,所以文件尺寸較小,功能上沒本質區別,僅是不支持gdb debug功能,可以放心使用。
MD5文件用來校驗下載的壓縮包是否完整,在文章結尾有介紹 MD5 文件的用法。
解壓
下載完解壓,並移動到想要安裝的文件夾。我這裡將文件夾解壓並改名到了用戶的 主目錄。
目錄規劃
$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 文件
在文件管理器的設置里打開"顯示隱藏文件"選項。
在用戶目錄,創建文本文件並改名成 .my.cnf
,並用文本編輯器編輯。因為 .
開頭的文件是隱藏文件,所以要先打開"顯示隱藏文件"選項。
打開 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
文件夾。
創建環境變數
打開用戶目錄下的 .profile
文件,在最底下加入一行:
這行的意思是,是把 bin 目錄下的可執行文件加入到環境變數,bin目錄的位置要根據實際情況修改。
#這裡的$USER要改成對應的用戶名
PATH=$PATH:/home/$user/GreatSQL/bin
改完保存並退出,然後註銷用戶(註銷前記得先保存文件),環境變數就能生效了。
或者在終端執行
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 連接
使用 Navicat 連接時,會報 Socket 錯誤,因為 Navicat 預設的 Socket 目錄位置不對。
要到高級里,指定一下 Socket 的位置。Socket 的位置在上文的 my.cnf
中可以查看。
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