热门标签 | HotTags
当前位置:  开发笔记 > 后端 > 正文

CentOS7安装MySQL8

本文档在以下环境中安装测试通过:版本MySQL8.0.30LinuxCentOSLinuxrelease7.9.2009(Core)内核版本:3.10.0-1160.el7.x86

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



















版本
MySQL8.0.30
LinuxCentOS 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 等客户端远程连接。



推荐阅读
author-avatar
手机用户2502885711
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有