linux用rpm包方式安装MySQL8全过程

 更新时间:2025年10月14日 11:26:00   作者:努力的人运气总不会太差  
这篇文章主要介绍了linux用rpm包方式安装MySQL8全过程,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教

一. Linux操作系统MySQL安装包分类

Linux操作系统MySQL安装包分为以下3类

  • RPM: RPM软件包是一种在Linux平台下的安装文件,通过安装命令可以很方便地安装与卸载。MySQL的RPM安装文件包分为两个:服务器和客户端,需要分别下载和安装或者下载整包,分别安装。
  • Generic Binaries: 二进制软件包,经过编译生成的二进制文件软件包。
  • 源码包:MySQL数据库的源代码,用户需要自己编译成二进制文件之后才能安装

二. 系统环境

virtualBox虚拟软件安装: Redhat Enterprise Linux 7.2

三. MySQL官网下载软件包

可以直接到 mysql官网 选择对应版本进行下载。

或下载页地址:https://downloads.mysql.com/archives/community/

四. MySQL8的rpm软包安装步骤

1. 上传到tmp目录

上传已下载MySQL的RPM软件包到安装的linux服务器上。

我使用的WinSCP软件工具。

2. 解压下载的tar包

命令:tar -xvf mysql-8.0.20-1.el7.x86_64.rpm-bundle.tar

  • mysql-community-client-8.0.20-1.el7.x86_64.rpm 是客户端的安装包
  • mysql-community-server-8.0.20-1.el7.x86_64.rpm是服务端的安装包
  • mysql-community-devel-8.0.20-1.el7.x86_64.rpm是包含开发用的库头文件安装包
  • mysql-community-test-8.0.20-1.el7.x86_64.rpm是一些测试的安装包
  • mysql-community-embedded-compat-8.0.20-1.el7.x86_64.rpm是嵌入式MySQL的安装包

一般情况下,只需要安装Client和server两个包,如果需要c/c++ MySQL相关开发,请安装devel。

3. 切换到root

命令:su – root

4. 查检是否已安装MySQL

命令:rpm -qa|grep -I mysql

如果存在,确认不需要后卸载,

命令:rpm -ev mysql_info(上面查出来的信息)

5. 安装MySQL 8 服务端

命令:rpm -ivh /tmp/mysql-community-server-8.0.20-1.el7.x86_64.rpm

弹出警告:

warning: /tmp/mysql-community-server-8.0.20-1.el7.x86_64.rpm: Header V3 DSA/SHA1 Signature, key ID 5072e1f5: NOKEY

原因:这是由于yum安装了旧版本的GPG keys造成的

解决办法:后面加上 --force –nodeps

  • –force就是强制安装
  • –nodeps就是安装时不检查依赖关系

命令:

rpm -ivh /tmp/mysql-community-server-8.0.20-1.el7.x86_64.rpm --force --nodeps

6. 启动服务

命令:service mysqld start

service 是用来管理Linux服务的

service start/stop/restart/status 启动服务/停止服务/重启服务/查看服务状态

7. 安装MySQL 8 客户端

命令:rpm -ivh mysql-community-client-8.0.20-1.el7.x86_64.rpm --force --nodeps

8. 安装完成之后,使用命令行登录

命令:mysql -u root -p

说明:mysql5.6是密码为空直接进入数据库的,但是mysql5.7之后就需要初始密码

从安装日志获取初始密码:

命令:cat /var/log/mysqld.log | grep password

再次执行命令:mysql -u root -p 回车,输入查到的初始密码,登录成功

9. 必须修改初始密码

命令:use mysql;

提示必须修改密码使用alter user语句。

密码有最基本的规则校验,默认如下:

validate_password.policy默认是1,即MEDIUM,所以刚开始设置的密码必须符合长度,且必须含有数字,小写或大写字母,特殊字符

查看密码规范:

SHOW VARIABLES LIKE ‘validate_password%';

validate_password.length(密码长度)参数默认为8

可以直接按照规则设置密码,如果想设置简单密码,临时修改规则校验

mysql8.0设置策略和长度设置:

set global validate_password.policy=0;
set global validate_password.length=1;

修改密码

alter user ‘root'@‘localhost' identified by ‘123456';

查看当前root用户相关信息,在mysql数据库的user表中

select host, user, authentication_string, plugin from mysql.user;

  • host:允许用户登录的ip‘位置’%表示可以远程;
  • user:当前数据库的用户名;
  • authentication_string:用户密码;在mysql 5.7.9以后废弃了password字段和password()函数;
  • plugin: 密码加密方式

MySQL8另外一种方式登录系统修改密码:

  1. 修改配置文件成登录跳过密码校验
  2. 无密码登录后,按上述操作修改密码
  3. 还原配置文件,重启数据库服务

五. 创建远程用户

说明:root用户现在是localhost访问,是最大权限用户,所以我们创建普通用户,赋与相应的权限的远程用户。

1. 创建数据库:test

create database test default character set utf8mb4 collate utf8mb4_bin;

2. 创建任意IP访问的远程用户:test_admin

create user ‘test_admin'@‘%' identified by ‘123456';

3. 授予权限

授予test_admin远程用户test数据库的创建、修改、删除和表的增删改查的权限

grant create,alter,drop,select,insert,update,delete on test.* to test_admin@‘%';

查看test_admin权限:

show grants for test_admin;

刷新服务使配置生效:

Flush privileges;

4. 客户端登录

virtualbox虚拟机环境:关闭防火墙或防火墙开启mysql默认3306端口。

客户端使用创建的test_admin用户登录,只有test数据库权限。

六. MySQL安装目录说明

打开mysql8安装后默认配置文件:

命令:cat /etc/my.cnf

  • /var/lib/mysql:日志文件和数据库
  • /var/log/:服务器日志
  • /var/run/mysqld/mysqld.pid: mysql服务进程

其他目录说明:

  • /usr/bin/: 客户端和脚本,如:mysql,mysqladmin等命令
  • /usr/sbin/: mysqld服务器,如:mysqld

七. 配置mysql开机启动

查看MySQL是不是开机自启,可以执行命令查看开机自启列表

查看mysqld开机启动:systemctl list-unit-files|grep mysqld

如果未开启:systemctl enable mysqld

再次查看:systemctl list-unit-files|grep mysqld

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • 浅谈linux中的whoami与 who指令

    浅谈linux中的whoami与 who指令

    下面小编就为大家带来一篇浅谈linux中的whoami与 who指令。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2016-12-12
  • linux压缩解压命令使用方式(无废话版)

    linux压缩解压命令使用方式(无废话版)

    本文介绍了gzip、bzip2、tar和zip四种常用的文件压缩和打包工具的使用方法,包括它们的功能、压缩比率、使用场景以及基本命令示例
    2024-11-11
  • Linux pidof命令使用总结

    Linux pidof命令使用总结

    今天GoFace给大家介绍linux pidof命令的用法,pidof命令大家或许很少见过,不过在适当的场合用处还是不小的
    2014-03-03
  • Linux下对各种压缩文件的处理方法

    Linux下对各种压缩文件的处理方法

    下面小编就为大家带来一篇Linux下对各种压缩文件的处理方法。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧,祝大家游戏愉快哦
    2016-12-12
  • Linux系统重启后MySQL数据丢失问题的解决步骤

    Linux系统重启后MySQL数据丢失问题的解决步骤

    今天分享一个在Linux系统中经常遇到的问题:系统重启后发现MySQL无法启动,而且数据似乎丢失了,这个问题可能会让人惊慌失措,但别担心,通常情况下这只是因为数据盘没有正确挂载导致的,现在我们将深入探讨这个问题的原因、解决方法以及如何预防它的再次发生
    2024-09-09
  • linux Cron定时执行带参数的PHP代码

    linux Cron定时执行带参数的PHP代码

    前面有篇文章简单介绍了了cPanel控制面板下如何使用时钟守护作业的方法,但有时,我们希望执行带参数的php代码,即如何传递参数给cron,飘易分享下方法如下
    2021-07-07
  • linux(ubuntu)用户连续N次输入错误密码进行登陆时自动锁定X分钟

    linux(ubuntu)用户连续N次输入错误密码进行登陆时自动锁定X分钟

    这篇文章主要介绍了linux(ubuntu)用户连续N次输入错误密码进行登陆时,自动锁定X分钟,需要的朋友可以参考下
    2019-09-09
  • CentOS7 LNMP+phpmyadmin环境搭建 第二篇LNMP环境搭建教程

    CentOS7 LNMP+phpmyadmin环境搭建 第二篇LNMP环境搭建教程

    这篇文章主要为大家详细介绍了CentOS7 LNMP+phpmyadmin环境搭建,第二篇LNMP环境搭建教程,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-07-07
  • Linux系统中的firewall-offline-cmd详解(收藏版)

    Linux系统中的firewall-offline-cmd详解(收藏版)

    firewall-offline-cmd 是 firewalld 的一个命令行工具,专门设计用于在没有运行 firewalld 服务的环境中配置防火墙规则,这篇文章主要介绍了Linux系统之firewall-offline-cmd详解,需要的朋友可以参考下
    2025-06-06
  • 浅谈linux kernel对于浮点运算的支持

    浅谈linux kernel对于浮点运算的支持

    今天小编就为大家分享一篇浅谈linux kernel对于浮点运算的支持,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2019-06-06

最新评论