写点什么

在统信 UOS 上二进制安装 GreatSQL

作者:GreatSQL
  • 2023-02-20
    福建
  • 本文字数:2861 字

    阅读完需:约 9 分钟

  • 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查看。


目录可以选择自己想要的地方安装,保证使用的用户有权限即可。


创建 my.cnf 文件

在文件管理器的设置里打开"显示隐藏文件"选项。



在用户目录,创建文本文件并改名成 .my.cnf ,并用文本编辑器编辑。因为 .开头的文件是隐藏文件,所以要先打开"显示隐藏文件"选项。




打开 my.cnf 文件并编辑,注意文件的的 $USER 要换成对应的用户名,如果安装在其他目录对应的地方也要跟着改。


[client]socket=/home/$USER/GreatSQL/data/mysql.sock
[mysqld]basedir=/home/$USER/GreatSQLdatadir=/home/$USER/GreatSQL/data/datadirsocket=/home/$USER/GreatSQL/data/mysql.sockport=3306
character-set-server=UTF8MB4default_time_zone="+8:00"#secure_file_priv=/home/$USER/GreatSQL/data/tmp#tmpdir=/home/$USER/GreatSQL/data/tmplog_error=/home/$USER/GreatSQL/data/error.logslow_query_log=1log_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 188112023-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里看到的那个。


#登录 GreatSQLmysql -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
复制代码


$ lsGreatSQL-8.0.25-16-Linux-glibc2.28-x86_64.tar.xzGreatSQL-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.xzf5cf4b4ee2a50234c49ec0cf7b5b085d 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.28Copyright (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-54-1-1.html


社区博客有奖征稿详情: https://greatsql.cn/thread-100-1-1.html


社区 2022 年度勋章获奖名单: https://greatsql.cn/thread-184-1-1.html


(对文章有疑问或者有独到见解都可以去社区官网提出或分享哦~)

技术交流群:

微信 &QQ 群:


QQ 群:533341697


微信群:添加 GreatSQL 社区助手(微信号:wanlidbc )好友,待社区助手拉您进群。

发布于: 刚刚阅读数: 2
用户头像

GreatSQL

关注

GreatSQL社区 2023-01-31 加入

GreatSQL是由万里数据库维护的MySQL分支,专注于提升MGR可靠性及性能,支持InnoDB并行查询特性,是适用于金融级应用的MySQL分支版本。 社区:https://greatsql.cn/ Gitee: https://gitee.com/GreatSQL/GreatSQL

评论

发布
暂无评论
在统信UOS上二进制安装GreatSQL_MySQL_GreatSQL_InfoQ写作社区