在Ubuntu下使用压缩包安装MySQL9

安装步骤

1. 下载安装包

  1. ​进入MySQL官网,点击“DOWNLOAD”进入下载页面

  2. 在下载页面中点击MySQL Community (GPL) Downloads

  3. ​选择MySQL Community Server进入版本选择,由于个人原因不想使用DEB的安装方式(PS:其实就是自己纯属无聊,给自己找事儿干),故选择“Linux - Generic”在这里插入图片描述

  4. 选择安装包,这里建议选择适合自己Linux版本glibc版本的压缩包,通过命令 ldd --version 就知道自己的版本啦
    ldd --version
    在这里插入图片描述

2. 上传安装包至指定目录

此处个人习惯放到自建目录"/download"下。

3. 解压安装包

  • 解压文件
 tar -xJvf /download/mysql-9.6.0-linux-glibc2.28-x86_64.tar.xz -C /usr/local/
  • 重命名解压文件
mv mysql-9.6.0-linux-glibc2.28-x86_64 mysql9

4. 创建必要文件夹

在mysql9文件夹中创建data文件夹
在这里插入图片描述

5. 创建mysql用户以及用户组

  • 创建用户组
groupadd mysql
  • 创建用户
useradd -r -g mysql mysql
-r 创建系统用户
-g指定用户的用户组

6.修改data文件夹的用户、用户组以及权限

  • 修改用户以及用户组
chown -R mysql:mysql data
  • 修改读、写、执行权限
 chmod -R 755 data

7. 添加环境变量

  • 修改/etc/profile文件,在文件末尾添加export PATH=$PATH:/usr/local/mysql9/bin在这里插入图片描述

  • 变量生效,加载环境变量source /etc/profile

  • 验证变量是否生效,即在任何目录下执行mysql --version命令均不包报错,且正常打印MySQL版本号

8. 新增/编辑 配置文件

  • 通过以下命令查看mysql默认读取配置文件的顺序
mysqld --verbose --help | grep -A 1 'Default options are read from'

以上命令执行后会在命令行打印出mysql默认读取配置文件的顺序,如下图所示。从图中可以看出默认会到/etc目录下去读取my.cnf配置文件,以确保后续自定义的配置文件生效;若后续初始化数据库时出现实际配置和自己写的配置不一致的情况,根据此顺序排查是否加载到其它配置文件。
在这里插入图片描述
由于不想再去创建对应的文件夹,故将配置文件放在/usr/local/etc下,且只添加了一小部分必要的配置,完整配置可以到官网或者自行百度后复制,粘贴然后修改即可;将basedir修改为mysql文件夹的路径,datadir修改为创建的data文件夹的路径。
注:sql_mode配置项和MySQL8有点出入,需要进行修改不能照搬MySQL8.0版本的配置

[mysql]
default-character-set=utf8mb4
socket=/temp/mysql.sock
 
[mysqld]
port=3306
basedir=/usr/local/mysql9
datadir=/usr/local/mysql9/data
socket=/temp/mysql.sock
character-set-server=utf8mb4
default-storage-engine=INNODB
max_connections=100
lower_case_table_names=1
explicit_defaults_for_timestamp=true
sql_mode=STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION
 
[client]
port=3306
default-character-set=utf8mb4

9. 初始化数据库

若是按照本步骤记录一步一步执行,此处可直接执行mysqld命令,不用切到bin目录下。这里由于使用的是--initialize-insecure配置项,所以这里不会在终端打印临时的登录密码,只要终端输出信息中没有ERROR信息即可;后期进入mysql时,直接敲回车进入就行,至于密码后续可自行修改数据库密码。

mysqld --defaults-file=/usr/local/etc/my.cnf --basedir=/usr/local/mysql9 --datadir=/usr/local/mysql9/data --user=mysql --initialize-insecure

在这里插入图片描述

10. 复制文件至init.d目录

修改并复制MySQL所在目录中的support-files下mysql.server中的全部文件至/etc/init.d/mysql中。mysql.server文件中的 basedirdatadir 需要根据实际路径填写。

cp ./support-files/mysql.server /etc/init.d/mysql

11. 添加服务

  • 通过sysv-rc-conf进行服务的添加,这里的服务名称要和/etc/init.d中文件名称一致,否则后期启动MySQL会提示错误。
 sysv-rc-conf --add mysql

这里会提示Unknown option: add这个返回信息,这里可以忽略,可以继续向后执行。在这里插入图片描述

  • 通过sysv-rc-conf设置开机自启
sysv-rc-conf mysql on

12. 启动服务

启动MySQL服务systemctl start mysql,通过systemctl status mysql检查MySQL服务运行状态是否为active
若在启动mysql的时候提示找不到mysql.service的报错,可以先尝试使用 systemctl daemon-reload 命令添加服务

检验是否安装成功

1. 进入MySQL

使用mysql -u root -p命令进入MySQL,此处由于安装的时候使用的是--initialize-insecure配置项,这里没有密码,直接回车进入就行。在这里插入图片描述
在这里插入图片描述


Logo

openEuler 是由开放原子开源基金会孵化的全场景开源操作系统项目,面向数字基础设施四大核心场景(服务器、云计算、边缘计算、嵌入式),全面支持 ARM、x86、RISC-V、loongArch、PowerPC、SW-64 等多样性计算架构

更多推荐