centos7安装MySQL8.4手册

目录

前言

公司官网系统做等保测评,被扫描出来好多潜在的漏洞,其中就有mysql5.7的,给的建议是升级mysql8。所以就有了这篇文章。

一、首先更新插件,并查看当前系统版本

复制代码
[root@localhost mysql8.4.5]# yum update
已加载插件:fastestmirror
Loading mirror speeds from cached hostfile
正在解决依赖关系
--> 正在检查事务
---> 软件包 containerd.io.x86_64.0.1.6.28-3.2.el7 将被 升级

查看centos7 系统版本

bash 复制代码
[root@localhost mysql8.4.5]# cat /etc/centos-release
CentOS Linux release 7.9.2009 (Core)
[root@localhost mysql8.4.5]# 

二、安装步骤

1、创建mysql目录
bash 复制代码
[root@localhost ~]# cd /usr/local/soft/
[root@localhost soft]# ll
总用量 0
drwxr-xr-x. 9 root root 186 3月  15 11:52 nginx-1.21
[root@localhost soft]# mkdir mysql8.4
[root@localhost soft]# cd mysql8.4/
2、安装rpm包
bash 复制代码
[root@localhost mysql8.4]# yum install https://repo.mysql.com//mysql84-community-release-el7-1.noarch.rpm
3、安装 mysql-community-server
bash 复制代码
[root@localhost mysql8.4]# yum install -y mysql-community-server
已加载插件:fastestmirror
Loading mirror speeds from cached hostfile
mysql-8.4-lts-community                                                                                                              | 3.0 kB  00:00:00     
mysql-connectors-community                                                                                                           | 2.6 kB  00:00:00     
mysql-tools-8.4-lts-community                                                                                                        | 2.6 kB  00:00:00     
(1/3): mysql-tools-8.4-lts-community/x86_64/primary_db                                                                               |  15 kB  00:00:01     
(2/3): mysql-connectors-community/x86_64/primary_db                                                                                  | 126 kB  00:00:01     
(3/3): mysql-8.4-lts-community/x86_64/primary_db                                                                                     |  50 kB  00:00:02     
正在解决依赖关系
4、启动MySQL服务

启动 mysql,的时候没有出现任何提示说明启动成功了

复制代码
[root@localhost mysql8.4]# systemctl start mysqld
[root@localhost mysql8.4]# systemctl status mysql
Unit mysql.service could not be found.
[root@localhost mysql8.4]# systemctl status mysqld
● mysqld.service - MySQL Server
   Loaded: loaded (/usr/lib/systemd/system/mysqld.service; enabled; vendor preset: disabled)
   Active: active (running) since 五 2025-07-18 20:36:17 CST; 12s ago
     Docs: man:mysqld(8)
           http://dev.mysql.com/doc/refman/en/using-systemd.html
  Process: 27593 ExecStartPre=/usr/bin/mysqld_pre_systemd (code=exited, status=0/SUCCESS)
 Main PID: 28434 (mysqld)
   Status: "Server is operational"
    Tasks: 36
   Memory: 435.4M
   CGroup: /system.slice/mysqld.service
           └─28434 /usr/sbin/mysqld

7月 18 20:36:11 localhost.localdomain systemd[1]: Starting MySQL Server...
7月 18 20:36:17 localhost.localdomain systemd[1]: Started MySQL Server.
[root@localhost mysql8.4]# systemctl enable mysqld
5、查看MySQL状态
复制代码
[root@localhost mysql8.4]# systemctl status mysql
6、设置开机自启动
复制代码
[root@localhost mysql8.4]# systemctl enable mysqld

三、查看默认密码

复制代码
[root@localhost mysql8.4]# cat /var/log/mysqld.log
2025-07-18T12:36:12.101245Z 0 [System] [MY-015017] [Server] MySQL Server Initialization - start.
2025-07-18T12:36:12.104145Z 0 [System] [MY-013169] [Server] /usr/sbin/mysqld (mysqld 8.4.5) initializing of server in progress as process 28041
2025-07-18T12:36:12.119853Z 1 [System] [MY-013576] [InnoDB] InnoDB initialization has started.
2025-07-18T12:36:12.551607Z 1 [System] [MY-013577] [InnoDB] InnoDB initialization has ended.
2025-07-18T12:36:13.996497Z 6 [Note] [MY-010454] [Server] A temporary password is generated for root@localhost: oLoblw2j=<!0

四、登录mysql

复制代码
[root@localhost mysql8.4]# mysql -uroot -p

#### 提示输入密码的时候,输入上图的密码即可。

五、修改密码

复制代码
mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY 'ltx.xxxx.xxm';


修改密码报错 参考

复制代码
mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY 'ltx.xxxx.xxM';

参考步骤,之后记得改回来

复制代码
-- 设置最小密码长度为4
SET GLOBAL validate_password.length = 4;

-- 设置密码策略为LOW
SET GLOBAL validate_password.policy = 0;

-- 修改密码为简单密码
ALTER USER 'root'@'localhost' IDENTIFIED BY '123456';

-- 为了确保所有会话都能使用新密码,刷新权限
FLUSH PRIVILEGES;

六、开启远程访问

要在 MySQL 8.4 中开启远程访问,可以按照以下步骤进行配置:

1. 修改 MySQL 配置文件

首先,找到并编辑 MySQL 的配置文件 my.cnf 。配置文件的位置取决于你的操作系统和 MySQL 的安装方式:

  • 在 Linux 上,通常位于 /etc/mysql/my.cnf 或 /etc/my.cnf。

  • 在 Windows 上,通常位于 MySQL 安装目录下的 my.ini 文件。

    [root@localhost mysql8.4]# vim /etc/my.cnf
    [root@localhost mysql8.4]#

打开配置文件,找到 mysqld 部分,确保有以下配置:

bash 复制代码
[mysqld]
bind-address = 0.0.0.0

bind-address 设置为 0.0.0.0 意味着 MySQL 将监听所有网络接口的连接请求。

2. 重启 MySQL 服务

修改配置文件后,重启 MySQL 服务以使更改生效:

复制代码
[root@localhost mysql8.4]# vim /etc/my.cnf
[root@localhost mysql8.4]# systemctl restart mysqld 
3. 远程访问用户

3.1 允许root 远程访问

复制代码
use mysql;

update user set host = '%' where user = 'root';

flush privileges;
复制代码
mysql> select host, user from user;

3.2 创建远程访问用户

复制代码
mysql> CREATE USER 'ltxxst'@'%' IDENTIFIED BY 'lt.xxxx.xxt';
Query OK, 0 rows affected (0.00 sec)
FLUSH PRIVILEGES;

创建用户、赋予权限,参考

5. 验证远程连接
相关推荐
草莓熊Lotso5 小时前
【Redis 初阶】Set 类型深度解析:去重集合的运算能力与实战场景
linux·网络·数据库·windows·redis·tcp/ip·缓存
张文君5 小时前
ubuntu26.04坏道坏块分区隔离急速版260831-V0.12
linux·python
九皇叔叔14 小时前
《MySQL 体系架构详解:Server 层、SQL 执行流程与 InnoDB、MyISAM、MEMORY 存储引擎》
sql·mysql·架构
贝锐14 小时前
从国产化信创设备到商用安卓终端,向日葵如何帮助企业实现统一运维管理?
linux·运维·远程控制
Julien200415 小时前
调查和解决 SELinux 问题
linux·运维·服务器·网络·学习方法
愤怒的苹果ext16 小时前
MySQL Shell备份恢复数据库
数据库·mysql·备份恢复·mysqlsh
小张同学a.17 小时前
Docker 容器实战 1—— docker 基础与镜像构建
linux·运维·docker·容器
超兔一体云19 小时前
MySQL索引优化实战——从慢查询到索引调优
后端·mysql
Best-Wishes20 小时前
BurpSuite Pro教育版在linux系统中配置
linux·运维·服务器·网络安全·burpsuite
wuminyu20 小时前
深入剖析 Panama Off-heap 的性能损耗与开销
java·linux·c语言·jvm·c++