CentOS 7 安装 MySQL 8

本文档在以下环境中安装测试通过:

版本
MySQL 8.0.30
Linux CentOS Linux release 7.9.2009 (Core)内核版本:3.10.0-1160.el7.x86_64

使用 Yum 安装

Step1: 添加 MySQL Yum Repository

首先,将 MySQL Yum Repository 添加到系统的 Repository 列表中:

访问 MySQL Yum Repository 下载页面。也可以直接使用步骤 2 中的 下载地址.

image

image

  1. 下载相应平台的发行包。

如果当前系统没有安装 wget,先执行以下命令安装 wget:

sudo yum -y install wget

对于基于 el7 的系统:

wget https://dev.mysql.com/get/mysql80-community-release-el7-6.noarch.rpm
  1. 使用如下命令安装,将 platform-and-version-specific-package-name 替换为下载的 RPM 包名称:
$> sudo yum -y install platform-and-version-specific-package-name.rpm

对于基于 EL7 的系统:

$> sudo -y yum install mysql80-community-release-el7-{version-number}.noarch.rpm

可以通过以下命令检查 MySQL Yum 存储库是否已成功添加:

$> yum repolist enabled | grep "mysql.*-community.*"

image

Step2:禁用默认MySQL模块

仅适用于 EL8 系统,如 RHEL/CentOS 8 和 Oracle Linux 8 包括一个默认启用的 MySQL 模块。除非禁用此模块,否则它会屏蔽 MySQL Repository 提供的包。要禁用包含的模块并使 MySQL Repository 包可见,使用以下命令:

$> sudo yum module disable mysql

Step3:通过 RPM 检查签名

在安装前,确保 MySQL 包是完整的,没有被篡改。
从指定 url 加载 key(基于 EL7 的系统测试):

sudo rpm --import https://repo.mysql.com/RPM-GPG-KEY-mysql-2022

Step4:安装 MySQL

使用以下命令安装 MySQL:

$> sudo yum install mysql-community-server

以上命令将安装 MySQL 服务(MySQL -community-server),以及运行服务所需组件,包括客户端(MySQL -community-client),客户端和服务器的常见错误消息和字符集(MySQL -community-common),以及共享的客户端库(MySQL -community-libs)。

Step5:启动 MySQL 服务

使用以下命令启动 MySQL 服务:

$> systemctl start mysqld

使用以下的命令查看 MySQL 服务的状态:

$> systemctl status mysqld

使用以下命令设置开机自启动:

$> systemctl enable mysqld
$> systemctl daemon-reload

在服务第一次启动时,数据目录为空,会执行以下操作:

  • 初始化服务。
  • 在data目录下生成SSL证书文件和密钥文件。
  • 安装并启用 validate_password 插件
  • 创建 root 用户 "root"@"localhost"。设置 root 用户密码并保存在错误日志文件中。使用以下命令获取密码:
$> sudo grep 'temporary password' /var/log/mysqld.log

image

使用生成的临时密码登录,尽快修改 root 密码:

$> mysql -uroot -p
mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY 'MyNewPass4!';

注意:validate_password 插件默认安装。默认的密码策略要求密码至少包含一个大写字母、一个小写字母、一个数字和一个特殊字符,密码总长度至少为8个字符。

Step6:修改密码策略

个人测试环境可以修改简单易容易记忆的密码,此时需要降低密码策略。可以通过修改系统变量来配置密码策略,系统变量的含义查看密码验证组件部分。

mysql> SET GLOBAL validate_password.policy=LOW;
mysql> SET GLOBAL validate_password.check_user_name=OFF;
mysql> SET GLOBAL validate_password.length=4;

修改密码:

mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY 'root';

Step7:允许远程连接

mysql> USE mysql
mysql> UPDATE user SET host = '%' WHERE user ='root';
mysql> FLUSH PRIVILEGES;

Step8:开放防火墙端口

# Step1: 查看当前防火墙状态
sudo firewall-cmd --list-all

# Step2: 添加端口
sudo firewall-cmd --permanent --add-port=3306/tcp

# Step3: 重启防火墙
sudo service firewalld restart

# Step4: 查看是否生效
sudo firewall-cmd --query-port=3306/tcp

自此,所有步骤已完成,可以尝试通过 navicat 等客户端远程连接。

posted @   ZnPi  阅读(509)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 25岁的心里话
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· 零经验选手,Compose 一天开发一款小游戏!
· 一起来玩mcp_server_sqlite,让AI帮你做增删改查!!
点击右上角即可分享
微信分享提示