使用 yum 在 CentOS7 上安装 MySQL8

时间:2022-07-13
安装版本:MySQL-community-8.0.29

0. 删除MariaDB

在CentOS 7中默认有安装MariaDB,这个是MySQL的分支,通过其他方式安装MySQL需要删除MariaDB或补全依赖关系,但通过yum安装则会自动覆盖MariaDB并补全依赖(也就是说yum安装的话删不删都行)

0.1 检查MariaDB

rpm -qa|grep mariadb

使用 yum 在 CentOS7 上安装 MySQL8

0.2 删除MariaDB

(如果上条命令返回为空则略过)

rpm -e --nodeps mariadb-server
rpm -e --nodeps mariadb
rpm -e --nodeps mariadb-libs

0.3 检查MariaDB

重复步骤0.1若无返回即表示删除成功

1. 添加MySQL Yum Repository

从CentOS 7开始,MariaDB成为Yum源中默认的数据库安装包。也就是说在CentOS 7及以上的系统中使用yum安装MySQL默认安装的会是MariaDB(MySQL的一个分支)。如果想安装官方MySQL版本,需要使用MySQL提供的Yum源。

1.1 下载MySQL源

wget https://dev.mysql.com/get/mysql80-community-release-el7-3.noarch.rpm

使用 yum 在 CentOS7 上安装 MySQL8

1.2 安装MySQL源

yum -ivh install mysql80-community-release-el7-3.noarch.rpm

使用 yum 在 CentOS7 上安装 MySQL8

1.3 检查

安装完成后会在 /etc/yum.repos.d/目录下生成两个repo文件 mysql-community.repomysql-community-source.repo

使用 yum 在 CentOS7 上安装 MySQL8

2. 安装MySQL

2.1 使用yum安装MySQL

默认情况下自动安装最新版的MySQL,即8.0.29

yum -y install mysql-community-server

该命令会安装MySQL服务器 (mysql-community-server) 及其所需的依赖、相关组件

如果安装过程中出现报错 Public key for mysql-community-icu-data-files-8.0.29-1.el7.x86_64.rpm is not installed

使用 yum 在 CentOS7 上安装 MySQL8
请看步骤2.2

2.2 导入新的MySQL存储库的GPG秘钥

出现步骤2.2原因为官方 MySQL 存储库的 GPG 密钥已过期,无法安装或更新 MySQL 包。

并且官方也提交了该Bug https://bugs.mysql.com/bug.php?id=106188

我们可以使用以下命令重新导入新的密钥来解决该问题

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

执行完后再使用步骤2.1中命令来安装即可

使用 yum 在 CentOS7 上安装 MySQL8

2.3 安装完成

若出现以下提示则表示安装完成

使用 yum 在 CentOS7 上安装 MySQL8

3. 启动MySQL

3.1 启动MySQL服务

systemctl start  mysqld.service

3.2 查看MySQL服务状态

systemctl status  mysqld.service

注意上述命令为 mysqld.service ,不是 mysql.service

若要检查MySQL是否为开机自启,可执行以下命令查看开机自启列表

systemctl list-unit-files|grep enabled

若MySQL未在开机自启列表,执行以下代码设置开机自启动

systemctl enable mysqld

3.3 停止MySQL服务

systemctl stop mysqld.service

3.4 重启MySQL服务

systemctl restart mysqld.service

4. 修改密码

4.1 查看默认密码

在Linux中安装MySQL不会在安装过程中让你设置密码,而是自动生成一个默认密码,并存储在日志文件中

可以使用以下命令查看默认密码

grep "password" /var/log/mysqld.log

使用 yum 在 CentOS7 上安装 MySQL8

返回代码中冒号后即为默认密码,建议复制粘贴,因为在输入密码过程中并不显示,容易输错

4.2 修改密码

进入MySQL中后更改你的密码(MySQL在不更改默认密码的情况下无法操作数据库)

ALTER USER 'root'@'localhost' IDENTIFIED BY 'AAAbbb123@';

MySQL默认密码规范等级为MEDIUM,即需要满足密码长度大于8,包含数字、大写/小写和特殊字符

4.3 修改密码规范等级

使用 yum 在 CentOS7 上安装 MySQL8

如果是仅做学习测试使用,不需要过于复杂的密码,可以通过修改密码规范等级来使用更简单的密码

前提仍是需要先设置一个符合MEDIUM要求的复杂密码,否则不允许操作数据库

set global validate_password.policy = 0;        #  设置密码规范等级为0
set global validate_password.length = 4;        #  设置密码最短长度为4

成功后再次使用步骤4.2命令重设密码即可

5.远程访问

5.1 创建远程访问root用户

create user 'root'@'%' IDENTIFIED WITH mysql_native_password BY 'password';

5.2 为该用户授予全部权限

grant all on *.* to 'root'@'%';

此处root用户名可随意更改

5.3 开放端口3306

Linux打开/关闭/查询/端口命令如下

firewall-cmd --permanent --add-port=3306/tcp        #打开3306端口
firewall-cmd --permanent --remove-port=3306/tcp     #关闭3306端口
firewall-cmd --reload                   #重载使上述命令生效
firewall-cmd --query-port=3306/tcp              #查询3306端口是否开放

若嫌麻烦可以直接关闭防火墙,安全性自行评估

systemctl stop firewalld.service               #关闭防火墙
firewall-cmd --zone=public --list-ports                #查看防火墙所有开放的端口
firewall-cmd --state                       #查看防火墙状态

5.4 云端服务器开启端口参考

以腾讯云服务器为例

在控制台中选择防火墙,添加规则中应用类型下拉选择MySQL即可

使用 yum 在 CentOS7 上安装 MySQL8

5.5 通过DataGrip远程访问

若为本地虚拟机中Linux,则在Linux中使用 ifconfig查询内网ip地址,使用此ip在DataGrip上连接

若为云端服务器,则使用该服务器公网ip进行访问

使用 yum 在 CentOS7 上安装 MySQL8

若测试连接无错误即可成功远程访问该数据库

Original: https://www.cnblogs.com/progress2022/p/16472504.html
Author: Neon1n
Title: 使用 yum 在 CentOS7 上安装 MySQL8

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/622489/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

  • MySQL8.0解决“MySQL 服务无法启动。 服务没有报告任何错误。”

    TL;NRs 初始化服务时最好使用 mysqld –initialized –console命令; MySQL8.0的配置变量与MySQL5.7不同, [mysqld]下面设置…

    数据库 2023年5月24日
    0128
  • MySQL45讲之随机查询和临时表

    本文介绍 MySQL 随机查询的工作流程、优化随机查询的方式、和临时表。 工作流程 根据下表结构建立 words 表,并通过过程插入 10000 条模拟数据。 CREATE TAB…

    数据库 2023年5月24日
    078
  • Markdown学习

    Markdown学习 标题 三级标题 四级标题 字体 hello word hello word hello word hello word 引用 环境更加hi举报 分割线 图片 …

    数据库 2023年6月11日
    0100
  • Golang并发编程——goroutine、channel、sync

    并发与并行 并发和并行是有区别的,并发不等于并行。 两个或多个事件在同一时间不同时间间隔发生。对应在Go中,就是指多个 goroutine 在单个CPU上的交替运行。 两个或者多个…

    数据库 2023年6月16日
    054
  • login方法访问不到解决过程

    背景:由于项目登录模块之前使用传统的字符验证码,干扰又太严重,经常会有输入十次以上才能蒙对的情况。于是提出让改为滑动验证码(斗鱼,B站等等)。如图所示: 原有的: 要改的: 这个实…

    数据库 2023年6月11日
    0124
  • Mysql_事务_存储过程_触发器

    一、什么是事务? 事务(Transaction),一般是指要做的或所做的事情。在计算机术语中是指访问并可能更新数据库中各种数据项的一个程序执行单元(unit)。事务通常由高级数据库…

    数据库 2023年6月11日
    090
  • java Script

    JavaScript JavaScript(简称”JS”)是一种具有函数优先的轻量级,解释型或即时编译型的高级编程语言,弱类型,脚本语言 三大部分 核心(E…

    数据库 2023年6月16日
    078
  • MySQL学习笔记-day03

    唯一性约束修饰的字段具有唯一性,不能重复。但可以为NULL。 drop table if exists t_user; create table t_user( id int, u…

    数据库 2023年5月24日
    067
  • 数据火器库八卦系列之瑞士军刀随APP携带的SQLite

    来源:云数据库技术 数据库打工仔喃喃自语的八卦历史 为导弹巡洋舰设计,用在手机上的数据库 Small and Simple, and Better 如何看出是自己的娃:产品定位,特…

    数据库 2023年6月11日
    0103
  • 设置颜色与画笔

    设置画笔 默认情况下,Graphics绘图类 使用的画笔属性是粗细为I个像素的正方形,而Graphics2D类可以调用 setStroke()方法 设置画笔的属性,如改变线条的粗细…

    数据库 2023年6月16日
    088
  • SpringMVC完整学习!!!

    1.楔子 1.1、了解MVC 1.2、MVC框架的主要功能 2.初识SpringMVC 2.1、为什么要学习SpringMVC 2.2、了解SpringMVC 3.入门项目初体验!…

    数据库 2023年6月16日
    079
  • MySQL max() min() 函数取值错误

    今天日志出现异常,一步一步debug发现SQL语句返回值出错,进一步发现是max()函数返回出错。点击跳转解决办法,赶时间的朋友可以去获得答案。当然我还是希望大伙看看原由。 sel…

    数据库 2023年6月16日
    0173
  • 第十八章 AOP底层实现原理

    1.核心问题 1. AOP如何创建动态代理类 2. Spring工厂如何加工创建代理对象 通过原始对象的id值,获得的是代理对象 2.动态代理类的创建 2.1 JDK动态代理 通过…

    数据库 2023年6月14日
    086
  • Nginx基础入门篇(1)—优势及安装

    一、Nginx 的优势 1.1发展趋势: 2016年: 1.2、简介 Nginx (engine x) 是一个高性能的HTTP(解决C10k的问题)和反向代理服务器,也是一个IMA…

    数据库 2023年6月14日
    072
  • Java 笔记(全)

    ​ 标识符:给类或者变量类的方法属性命名都是标识符 ​ 组成必须是: 字母、数&#x…

    数据库 2023年6月11日
    072
  • 读取resources下的资源

    这里我通过一个普通的SpringBoot项目进行测试,当然其他项目也都是通用的。 将其中的Test修改为你的类名即可: java;gutter:true; import lombo…

    数据库 2023年6月14日
    074
亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球