【MySQL】Linux Yum 安装 MySQL 8.x

本文写作目的是为了介绍如何在 Linux 上安装 MySQL 8.x ,当前 MySQL 通用发行版为 8.0.37 (官方建议用于生产环境),创新版本为 8.3.0 ,部分步骤随版本更新可能有所变化,以官方手册为准。

笔者使用的操作系统为 CentOS 7.8.2003 ,内核为 3.10.0-1160.80.1.el7.x86_64 。

bash 复制代码
$> cat /etc/centos-release
CentOS Linux release 7.8.2003 (Core)
$> uname -a
Linux ic-source 3.10.0-1160.80.1.el7.x86_64 #1 SMP Tue Nov 8 15:48:59 UTC 2022 x86_64 x86_64 x86_64 GNU/Linux

1、获取并安装 MySQL 8 Yum 源

bash 复制代码
$> wget https://dev.mysql.com/get/mysql80-community-release-el7-11.noarch.rpm
$> sudo rpm -ivh mysql80-community-release-el7-11.noarch.rpm
$> sudo yum makecache

安装 rpm 包时也可以使用 yum localinstall :

bash 复制代码
$> sudo yum localinstall mysql80-community-release-el7-11.noarch.rpm

注释

本文中默认使用的操作系统用户为普通用户,拥有 sudo 权限;如直接使用 root 用户安装,则不需要使用 sudo ;如果未配置好 sudo 权限,请自行配置。

2、配置 Yum 源开关(可选)

设置 enabled=1 开启需要用的源,设置 enabled=0 关闭不需要的源。笔者因个人需求要用到 MySQL Connector 和 MySQL Tools ,因而额外开启了它们。

bash 复制代码
$> sudo vi /etc/yum.repos.d/mysql-community.repo

[mysql80-community]
name=MySQL 8.0 Community Server
baseurl=http://repo.mysql.com/yum/mysql-8.0-community/el/7/$basearch
enabled=1
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-mysql-2022
       file:///etc/pki/rpm-gpg/RPM-GPG-KEY-mysql

[mysql-connectors-community]
name=MySQL Connectors Community
baseurl=http://repo.mysql.com/yum/mysql-connectors-community/el/7/$basearch
enabled=1
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-mysql-2022
       file:///etc/pki/rpm-gpg/RPM-GPG-KEY-mysql

[mysql-tools-community]
name=MySQL Tools Community
baseurl=http://repo.mysql.com/yum/mysql-tools-community/el/7/$basearch
enabled=1
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-mysql-2022
       file:///etc/pki/rpm-gpg/RPM-GPG-KEY-mysql

注意,此处的 file:///etc/pki/rpm-gpg/RPM-GPG-KEY-mysql-2022 一会如果报错会用到。

另外,也可以使用 yum-config-manager --(enable| disable) 来启动/关闭 repo 仓库。

bash 复制代码
$> sudo yum-config-manager --disable mysql57-community
$> sudo yum-config-manager --enable mysql80-community

3、安装 MySQL 8.x

笔者安装的是 MySQL 8.0.37 (其实是更新)。最近 MySQL 官方的 Yum 源下载速度有点慢。

bash 复制代码
$> yum install -y mysql-community-server

重要

安装或更新时(可能由于长时间未更新所致)可能会出现如下报错:

复制代码
Downloading packages:
warning: /var/cache/yum/x86_64/7/mysql80-community/packages/mysql-community->devel-8.0.36-1.el7.x86_64.rpm: Header V4 RSA/SHA256 Signature, key ID a8d3785c: >NOKEY
从 file:///etc/pki/rpm-gpg/RPM-GPG-KEY-mysql-2022 检索密钥

可以看出是本地的 /etc/pki/rpm-gpg/RPM-GPG-KEY-mysql-2022 出了问题,检查发现不存在该文件。所以需要下载下来。

参见 解决【获取 GPG 密钥失败:"Couldn't open file /etc/pki/rpm-gpg/RPM-GPG-KEY-mysql-2022"】 。

如无报错,则安装成功。

4、安装后启动 MySQL 服务器加以验证

正确配置 /etc/my.cnf 或其他选项文件。也可以以后再配置。本文不以详述。

启动 MySQL 服务器:

bash 复制代码
$> systemctl start mysqld

查看 MySQL 服务器状态:

bash 复制代码
$> systemctl status mysqld

第一次启动 MySQL 服务器时会进行初始化,如果服务器的数据目录为空,则会发生以下情况:

  • 服务器被初始化。

  • 在数据目录下生成 SSL 证书和秘钥文件。

  • validate_password 被安装并启用。

  • 创建了超级用户帐户 'root'@'localhost'。超级用户的密码已设置并存储在错误日志文件中。要显示它,请使用以下命令:

    复制代码
    $> sudo grep 'temporary password' /var/log/mysqld.log

    尽快使用生成的临时密码登录来更改 root 密码,并为超级用户帐户设置自定义密码:

    bash 复制代码
    $> mysql -uroot -p
    mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY 'MyNewPass4!';

也可以第一次手动启动 MySQL 服务器时使用 mysqld 程序的 --initialize-insecure 选项。该选项会创建默认数据库并退出,然后创建一个密码为空的超级用户。常用于自动化脚本大批量安装 MySQL 服务器。

注释

默认安装 validate_password 。validate_password 实现的默认密码策略要求密码至少包含一个大写字母、一个小写字母、一位数字和一个特殊字符,并且密码总长度至少为 8 个字符。

相关推荐
沫璃染墨28 分钟前
《从零入门Linux系统篇(五十七):线程篇·十——生产者消费者模型进阶:从环形缓冲区到POSIX信号量》
linux·运维·服务器·开发语言·c++·系统架构·信号处理
写后端的胖头鱼32 分钟前
【高频面试题】FullText 全文索引(MySQL)
数据库·mysql·索引·全文索引
wuminyu39 分钟前
LockStack在虚拟线程Mount和Unmount拷贝过程剖析
java·linux·c语言·jvm·c++
路远的数据库笔记1 小时前
SQL Server迁移国产数据库怎么做?九套口岸库零停机割接实战
数据库·经验分享·sqlserver·dba
樱花落木兰1 小时前
分布式登录实战:Session 会话共享改造,Redis 存储用户登录状态
java·javascript·数据库·redis·分布式·缓存
深念Y1 小时前
rime-雾凇拼音-配置记录
linux·junit·软件·拼音·kde
kaiyou20261 小时前
用户研究岗秋招,统计分析能力怎么学习和证明?
数据库·python·学习
mjhcsp1 小时前
DeepSeek V4.1 Flash 批量处理效能实测
java·前端·数据库
ShineWinsu1 小时前
对于Redis:Steam、Geospatial、Hyperloglog、Bitmap、Bitfield类型的解析
数据库·c++·redis·分布式·缓存·面试·zset
lie..2 小时前
30天从零开始学AI应用开发(Day 17):ChromaDB 上手:给本地文档建一个“外挂大脑”
数据库·人工智能·oracle