赞
踩
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文件并编辑,注意文件的的$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 连接时,会报 Socket 错误,因为 Navicat 默认的 Socket 目录位置不对。
要到高级里,指定一下 Socket 的位置。Socket 的位置在 my.cnf
中有定义
在控制台,执行命令 md5sum 文件
就能算出压缩包的md5,将算出来的 MD5 值与 MD5 文件里的值进行比对,如果一致说明文件完整。
md5sum ./GreatSQL-8.0.25-16-Linux-glibc2.28-x86_64.tar.xz
在命令行输入以下命令:
- $ ldd --versionldd (Debian GLIBC 2.28.21-1+deepin-1) 2.28
- Copyright (C) 2018 自由软件基金会。
- 这是一个自由软件;请见源代码的授权条款。本软件不含任何没有担保;甚至不保证适销性
- 或者适合某些特殊目的。
- 由 Roland McGrath 和 Ulrich Drepper 编写
在命令行输入以下命令:
- $ uname -m
- x86_64
Enjoy GreatSQL :)
《深入浅出MGR》视频课程
戳此小程序即可直达B站
https://www.bilibili.com/medialist/play/1363850082?business=space_collection&business_id=343928&desc=0
文章推荐:
想看更多技术好文,点个“在看”吧!
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。