在统信UOS上可视化二进制安装 GreatSQL

本文涉及的产品
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
云数据库 RDS MySQL,集群系列 2核4GB
推荐场景:
搭建个人博客
云数据库 RDS MySQL,高可用系列 2核4GB
简介: 在统信UOS上可视化二进制安装 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 文件的用法。

解压

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

目录规划

$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

查看glib版本和系统架构

查看glib版本

在命令行输入以下命令:

$ ldd --versionldd (Debian GLIBC 2.28.21-1+deepin-1) 2.28
Copyright (C) 2018 自由软件基金会。
这是一个自由软件;请见源代码的授权条款。本软件不含任何没有担保;甚至不保证适销性
或者适合某些特殊目的。
由 Roland McGrath 和 Ulrich Drepper 编写


查看系统架构

在命令行输入以下命令:

$ uname -m
x86_64


EnjoyGreatSQL:)

相关实践学习
如何快速连接云数据库RDS MySQL
本场景介绍如何通过阿里云数据管理服务DMS快速连接云数据库RDS MySQL,然后进行数据表的CRUD操作。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助     相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
相关文章
|
8月前
|
Web App开发 NoSQL 安全
ARM架构-银河麒麟v10-server离线安装Harbor
ARM架构-银河麒麟v10-server离线安装Harbor
870 0
|
8月前
|
安全 Linux Shell
Linux:探索开源之魅与编程之道
Linux:探索开源之魅与编程之道
55 4
|
8月前
|
消息中间件 关系型数据库 MySQL
Linux:开源之魅与编程之道
Linux:开源之魅与编程之道
58 1
|
8月前
|
存储 应用服务中间件 调度
国产操作系统---麒麟安装FastDFS
国产操作系统---麒麟安装FastDFS
182 0
|
8月前
|
数据安全/隐私保护 Docker 容器
银河麒麟v10-arm版离线安装Portainer
银河麒麟v10-arm版离线安装Portainer
598 0
|
Linux 开发工具 Android开发
【Linux取经路】基础开发工具——yum篇
【Linux取经路】基础开发工具——yum篇
134 1
|
传感器 消息中间件 运维
统信UOS系统开发笔记(八):在统信UOS上编译搭建mqtt基础环境(版本使用QMQTT::Clinet)
统信uos使用到mqtt开发,需要重新编译mqtt,本篇描述统信uos20上的mqtt源码编译和环境搭建。这里mqtt版本是使用QMQTT::CLIENT来操作的,这里笔者已知Qt的版本分为两个:一个是QMQTT::QMQTTCLIENT,一个是QTMQTT:CLIENT,对应不同的类和方式,请根据需求选择)
|
JavaScript 关系型数据库 MySQL
在银河麒麟arm架构下离线安装mysql5.7
大家久等了,这个银河麒麟 arm 系统很特殊,必须用官方依赖mysql数据库才可以,这里我也是找的麒麟技术人员要的,大家可以下载离线安装官方mysql5.7依赖包和数据库 下载地址
1781 0
|
SQL 分布式计算 Ubuntu
大数据基本开发工具的Linux操作系统的Ubuntu
在大数据领域中,选择合适的操作系统至关重要。Linux是一个广受欢迎的开源操作系统,在众多Linux发行版中,Ubuntu已经成为一款备受推崇的操作系统之一。本文将会介绍在Ubuntu上进行大数据开发所需的基本工具。
157 0
|
存储 虚拟化 数据安全/隐私保护
国产最美Linux-Deepin的安装
国产最美Linux-Deepin的安装
509 0
国产最美Linux-Deepin的安装

热门文章

最新文章