乐趣区

关于数据库:在统信UOS上二进制安装GreatSQL

  • GreatSQL 社区原创内容未经受权不得随便应用,转载请分割小编并注明起源。
  • GreatSQL 是 MySQL 的国产分支版本,应用上与 MySQL 统一。
  • 作者:vatebur
  • 文章起源:GreatSQL 社区投稿

UOS 二进制装置数据库和其余 Linux 根本一样,网上命令行装置的教程很多。思考到 UOS 自带图形化界面,为了升高一点装置门槛,本文尽量应用图形化界面装置。
纯命令行装置能够参考:https://greatsql.cn/docs/user…

本文间接把 GreatSQL 装置在了用户目录(非 root),用普通用户的权限运行,没有新创建专门给数据库用的用户和组。

零碎环境

零碎版本:统信 UOS 家庭版 22.0

下载地址:https://www.chinauos.com/reso…

注:UOS 家庭版只有 amd64(x86_64) 版本,glibc2.28。
如果您不晓得零碎架构或者 glibc 版本,能够调到文章尾部 查看 glib 版本和零碎架构 局部。

下载和解压

下载

下载 GreatSQL 二进制安装包:https://gitee.com/GreatSQL/Gr…

在页面里找到 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 文件的用法。

解压

下载完解压,并挪动到想要装置的文件夹。我这里将文件夹解压并改名到了用户的 主目录。

目录布局

$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 :)

## 对于 GreatSQL

GreatSQL 是由万里数据库保护的 MySQL 分支,专一于晋升 MGR 可靠性及性能,反对 InnoDB 并行查问个性,是实用于金融级利用的 MySQL 分支版本。

相干链接:GreatSQL 社区 Gitee GitHub Bilibili

GreatSQL 社区:

社区博客有奖征稿详情:https://greatsql.cn/thread-10…

技术交换群:

微信:扫码增加 GreatSQL 社区助手 微信好友,发送验证信息 加群

退出移动版